.chm-tabs[data-v-13b2a101]{display:flex;border-bottom:1px solid var(--border-subtle);padding:0 1.5rem}.chm-tab[data-v-13b2a101]{padding:.6rem 1.2rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--text-secondary);font-size:.9rem;font-weight:500}.chm-tab.active[data-v-13b2a101]{border-bottom-color:var(--primary-color);color:var(--primary-color)}.chm-body[data-v-13b2a101]{padding:1.25rem 1.5rem}.chm-loading[data-v-13b2a101],.chm-empty[data-v-13b2a101]{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:2rem 0}.chm-diff-bar[data-v-13b2a101]{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--bg-subtle, #f8fafc);border-radius:8px;margin-bottom:1rem;flex-wrap:wrap;font-size:.85rem}.chm-select[data-v-13b2a101]{padding:.3rem .5rem;border:1px solid var(--border-subtle);border-radius:6px;font-size:.85rem}.chm-btn-diff[data-v-13b2a101]{padding:.35rem .85rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.chm-btn-diff[data-v-13b2a101]:disabled{opacity:.5;cursor:not-allowed}.chm-diff-result[data-v-13b2a101]{border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:1rem;overflow:hidden}.chm-diff-header[data-v-13b2a101]{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--bg-subtle);font-size:.85rem;font-weight:600}.chm-diff-close[data-v-13b2a101]{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1rem}.chm-diff-empty[data-v-13b2a101]{padding:.75rem 1rem;font-size:.85rem;color:var(--text-secondary)}.chm-diff-table[data-v-13b2a101]{width:100%;border-collapse:collapse;font-size:.82rem}.chm-diff-table th[data-v-13b2a101]{padding:.4rem .75rem;background:var(--bg-subtle);text-align:left;color:var(--text-secondary);font-weight:600}.chm-diff-table td[data-v-13b2a101]{padding:.4rem .75rem;border-top:1px solid var(--border-subtle)}.chm-diff-key[data-v-13b2a101]{font-family:monospace;color:var(--text-primary)}.chm-diff-from[data-v-13b2a101]{color:#dc2626}.chm-diff-to[data-v-13b2a101]{color:#16a34a}.chm-version-list[data-v-13b2a101]{display:flex;flex-direction:column;gap:.5rem}.chm-version-item[data-v-13b2a101]{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:8px}.chm-version-item.is-current[data-v-13b2a101]{border-color:var(--primary-color);background:var(--primary-bg, #f0f9ff)}.chm-version-badge[data-v-13b2a101]{font-weight:700;font-size:.9rem;min-width:2.5rem}.chm-current-tag[data-v-13b2a101]{margin-left:.4rem;font-size:.72rem;background:var(--primary-color);color:#fff;border-radius:4px;padding:.1rem .4rem}.chm-version-meta[data-v-13b2a101]{flex:1;display:flex;flex-direction:column;gap:.15rem}.chm-version-date[data-v-13b2a101]{font-size:.82rem;color:var(--text-secondary)}.chm-version-reason[data-v-13b2a101]{font-size:.82rem;font-style:italic;color:var(--text-secondary)}.chm-btn-view[data-v-13b2a101]{padding:.3rem .7rem;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-card);cursor:pointer;font-size:.8rem}.chm-btn-view.active[data-v-13b2a101]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.chm-snapshot-detail[data-v-13b2a101]{margin-top:1rem;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.chm-snapshot-detail-header[data-v-13b2a101]{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--bg-subtle);font-size:.85rem;font-weight:600}.chm-snapshot-sections[data-v-13b2a101]{padding:1rem;display:flex;flex-direction:column;gap:1.25rem}.chm-section-title[data-v-13b2a101]{font-weight:600;font-size:.85rem;margin-bottom:.5rem;color:var(--text-secondary)}.chm-data-table[data-v-13b2a101]{width:100%;border-collapse:collapse;font-size:.82rem}.chm-data-table th[data-v-13b2a101]{padding:.35rem .6rem;background:var(--bg-subtle);text-align:left;color:var(--text-secondary);font-weight:600}.chm-data-table td[data-v-13b2a101]{padding:.35rem .6rem;border-top:1px solid var(--border-subtle)}.chm-no-data[data-v-13b2a101]{color:var(--text-secondary);font-style:italic;text-align:center}.chm-audit-list[data-v-13b2a101]{display:flex;flex-direction:column;gap:.5rem}.chm-audit-item[data-v-13b2a101]{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border-subtle);border-radius:8px}.chm-audit-badge[data-v-13b2a101]{padding:.2rem .55rem;border-radius:5px;font-size:.75rem;font-weight:700;white-space:nowrap}.chm-audit-badge--locked[data-v-13b2a101]{background:#fef3c7;color:#92400e}.chm-audit-badge--unlocked[data-v-13b2a101]{background:#dbeafe;color:#1e40af}.chm-audit-badge--restored[data-v-13b2a101]{background:#d1fae5;color:#065f46}.chm-audit-detail[data-v-13b2a101]{flex:1}.chm-audit-date[data-v-13b2a101]{font-size:.82rem;color:var(--text-secondary)}.chm-audit-version[data-v-13b2a101]{font-size:.8rem;color:var(--text-secondary)}.chm-audit-reason[data-v-13b2a101]{font-size:.82rem;font-style:italic;margin-top:.15rem}.campaign-selector-container[data-v-59d253ce]{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.header-campaign-info[data-v-59d253ce]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.campaign-title-row[data-v-59d253ce]{display:flex;align-items:center;gap:8px}.campaign-name[data-v-59d253ce]{font-size:1.2rem;font-weight:800;color:#1e293b}.btn-edit-campaign[data-v-59d253ce]{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.6;transition:opacity .2s;padding:4px}.btn-edit-campaign[data-v-59d253ce]:hover{opacity:1}.header-lock-btn[data-v-59d253ce]{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;color:#64748b}.header-lock-btn[data-v-59d253ce]:hover{background:rgba(var(--primary-rgb),.05);color:var(--primary-color)}.header-lock-btn.is-locked[data-v-59d253ce]{color:#f59e0b}.header-lock-btn.is-locked[data-v-59d253ce]:hover{background:#f59e0b1a;color:#d97706}.btn-cancel-lock[data-v-59d253ce]{padding:.45rem 1rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:.88rem}.btn-confirm-lock[data-v-59d253ce]{padding:.45rem 1rem;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;font-size:.88rem;font-weight:600}.btn-confirm-lock.is-unlock[data-v-59d253ce]{background:#f59e0b}.btn-confirm-lock[data-v-59d253ce]:disabled{opacity:.5;cursor:not-allowed}.scenario-selector-container[data-v-59d253ce]{min-width:200px}.scenario-select[data-v-59d253ce]{width:100%;padding:4px 8px;border-radius:8px;border:1px solid #cbd5e1;font-size:.8rem;color:#475569;font-weight:600;background-color:#fff;cursor:pointer;outline:none}.metro-line-container[data-v-59d253ce]{width:100%;padding:0 20px;position:relative;height:100px;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;background:linear-gradient(to bottom,#f8fafc00,#f8fafc80)}.metro-line-container[data-v-59d253ce]::-webkit-scrollbar{height:6px}.metro-line-container[data-v-59d253ce]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.metro-line-container[data-v-59d253ce]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.metro-line-container[data-v-59d253ce]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.metro-line-track[data-v-59d253ce]{position:relative;padding:0 60px 10px;min-width:max-content}.metro-line-track[data-v-59d253ce]:before{content:"";position:absolute;top:25px;left:0;right:0;height:4px;background:#e2e8f0;z-index:1}.metro-draggable-list[data-v-59d253ce]{display:flex;justify-content:flex-start;gap:40px;align-items:flex-start;position:relative;z-index:2}.metro-step[data-v-59d253ce]{display:flex;flex-direction:column;align-items:center;cursor:grab;transition:all .3s cubic-bezier(.4,0,.2,1);width:150px;flex-shrink:0;position:relative}.metro-step[data-v-59d253ce]:active{cursor:grabbing}.metro-step.active[data-v-59d253ce]{transform:translateY(-2px)}.metro-ghost[data-v-59d253ce]{opacity:.4;background:#f1f5f9;border-radius:12px}.metro-chosen[data-v-59d253ce]{background:#fff;box-shadow:0 10px 20px #0000001a;border-radius:12px;z-index:100}.flip-list-move[data-v-59d253ce]{transition:transform .3s}.no-move[data-v-59d253ce]{transition:transform 0s}.metro-hit-area[data-v-59d253ce]{cursor:grab;padding:10px;display:flex;align-items:center;justify-content:center}.metro-hit-area[data-v-59d253ce]:active{cursor:grabbing}.metro-dot-wrapper[data-v-59d253ce]{height:34px;display:flex;align-items:center;justify-content:center}.metro-dot[data-v-59d253ce]{width:18px;height:18px;background:#fff;border:4px solid #cbd5e1;border-radius:50%;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 0 0 5px #fff}.metro-step.active .metro-dot[data-v-59d253ce]{width:22px;background:var(--primary-color);border-color:#fff;box-shadow:0 0 0 5px #fff,0 8px 16px var(--primary-glow)}.metro-step.active[data-v-59d253ce]:after{content:"";position:absolute;bottom:-8px;width:40px;background:var(--primary-color);border-radius:99px;box-shadow:0 2px 4px var(--primary-glow)}.metro-step:hover .metro-dot[data-v-59d253ce]{border-color:var(--primary-color);transform:scale(1.1)}.metro-dot.dashed[data-v-59d253ce]{border-style:dashed;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#94a3b8;background:transparent}.metro-step.add-step:hover .metro-dot.dashed[data-v-59d253ce]{background:#f0fdf4;color:var(--primary-color)}.metro-label[data-v-59d253ce]{display:flex;flex-direction:column;align-items:center;margin-top:6px;pointer-events:none}.metro-year[data-v-59d253ce]{font-size:1rem;font-weight:800;color:#64748b;transition:color .2s;margin-bottom:2px}.metro-step.active .metro-year[data-v-59d253ce]{color:#1e293b;font-size:1.1rem}.metro-name[data-v-59d253ce]{font-size:.8rem;color:#94a3b8;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;font-weight:600;text-align:center}.metro-step.active .metro-name[data-v-59d253ce]{color:var(--primary-color)}.metro-lock-small[data-v-59d253ce]{position:absolute;top:-12px;right:-12px;font-size:10px}.campaign-modal-overlay[data-v-59d253ce]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.campaign-modal-content[data-v-59d253ce]{background:#fff;padding:2.5rem;border-radius:16px;width:100%;max-width:400px;box-shadow:0 20px 40px #0003;text-align:left}.campaign-modal-header[data-v-59d253ce]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.campaign-modal-title[data-v-59d253ce]{margin:0;color:#1e293b;font-size:1.4rem;font-weight:700}.form-group[data-v-59d253ce]{margin-bottom:1.5rem}.form-group label[data-v-59d253ce]{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.form-group input[data-v-59d253ce]{width:100%;padding:.75rem;border-radius:8px;border:1px solid #cbd5e1;font-size:.95rem;box-sizing:border-box}.form-actions[data-v-59d253ce]{display:flex;justify-content:flex-end}.btn-save[data-v-59d253ce]{padding:.75rem 1.5rem;border-radius:8px;background:var(--primary-color);color:#fff;border:none;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-save[data-v-59d253ce]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1024px){.campaign-name[data-v-59d253ce]{font-size:1.2rem}}@media (max-width: 768px){.header-campaign-info[data-v-59d253ce]{padding-top:0;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.campaign-title-row[data-v-59d253ce]{margin-bottom:0;flex-shrink:0}.scenario-selector-container[data-v-59d253ce]{margin-bottom:0;min-width:0;flex:1}.scenario-select[data-v-59d253ce]{min-width:130px;font-size:.8rem}}@media (max-width: 480px){.campaign-name[data-v-59d253ce]{font-size:1.1rem}.scenario-selector-container[data-v-59d253ce]{min-width:150px}.metro-line-container[data-v-59d253ce]{padding:0 10px;height:70px}}.loading-bar-container[data-v-5714cce7]{position:fixed;top:0;left:0;right:0;height:3px;z-index:10000;pointer-events:none}.loading-bar[data-v-5714cce7]{height:100%;background:linear-gradient(90deg,#10b981,#34d399);box-shadow:0 0 10px #10b98180;transition:width .3s ease-out}.loading-spinner[data-v-5714cce7]{position:fixed;top:12px;right:12px;width:18px;height:18px;border:2px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:spin-5714cce7 .8s linear infinite}@keyframes spin-5714cce7{to{transform:rotate(360deg)}}.fade-enter-active[data-v-5714cce7],.fade-leave-active[data-v-5714cce7]{transition:opacity .4s ease}.fade-enter-from[data-v-5714cce7],.fade-leave-to[data-v-5714cce7]{opacity:0}.user-menu-overlay[data-v-0351f965]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn-0351f965 .2s ease-out;cursor:pointer;-webkit-tap-highlight-color:transparent}@media (max-width: 1366px),(hover: none) and (pointer: coarse){.user-menu-overlay[data-v-0351f965]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a99}}.user-menu-box[data-v-0351f965]{width:100%;max-width:420px;background:var(--bg-card);border-radius:24px;overflow:hidden;box-shadow:0 20px 40px #0003,0 0 0 1px #ffffff1a;transform-origin:center;animation:slideUp-0351f965 .3s cubic-bezier(.34,1.56,.64,1);cursor:default}@keyframes fadeIn-0351f965{0%{opacity:0}to{opacity:1}}@keyframes slideUp-0351f965{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-menu-header[data-v-0351f965]{padding:2rem;display:flex;align-items:center;gap:1.5rem;background:linear-gradient(to bottom,rgba(var(--primary-rgb),.05),transparent)}.user-avatar-circle[data-v-0351f965]{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--primary-color),#10b981);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 16px rgba(var(--primary-rgb),.2)}.user-details[data-v-0351f965]{flex:1;min-width:0}.user-farm-name[data-v-0351f965]{margin:0 0 .25rem;font-size:1.25rem;font-weight:800;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta[data-v-0351f965]{display:flex;flex-direction:column;gap:.5rem}.user-email-text[data-v-0351f965]{font-size:.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role-tag[data-v-0351f965]{display:inline-flex;align-items:center;align-self:flex-start;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.user-role-tag.super_admin[data-v-0351f965]{background:#fef2f2;color:#ef4444}.user-role-tag.teacher[data-v-0351f965]{background:#eef2ff;color:#6366f1}.user-menu-divider[data-v-0351f965]{height:1px;background:#0000000d;margin:0 2rem}[data-theme=dark] .user-menu-divider[data-v-0351f965]{background:#ffffff0d}.user-menu-divider.secondary[data-v-0351f965]{margin:.5rem 2rem}.user-menu-actions[data-v-0351f965]{padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.menu-action-item[data-v-0351f965]{display:flex;align-items:center;gap:1.25rem;padding:1rem;border-radius:16px;text-decoration:none;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:all .2s ease}.menu-action-item[data-v-0351f965]:hover{background:rgba(var(--primary-rgb),.05);transform:translate(4px)}.action-icon-bg[data-v-0351f965]{width:44px;height:44px;border-radius:12px;background:var(--bg-neutral);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.menu-action-item:hover .action-icon-bg[data-v-0351f965]{background:var(--primary-color);color:#fff}.action-icon-bg.logout[data-v-0351f965]{background:#fef2f2}.menu-action-item:hover .action-icon-bg.logout[data-v-0351f965]{background:#ef4444}.action-text-group[data-v-0351f965]{flex:1;display:flex;flex-direction:column;gap:.1rem}.action-label[data-v-0351f965]{font-weight:700;color:var(--text-main);font-size:1rem}.action-sublabel[data-v-0351f965]{font-size:.8rem;color:var(--text-muted)}.action-chevron[data-v-0351f965]{font-size:1.5rem;color:var(--text-muted);opacity:.5}.user-menu-footer[data-v-0351f965]{padding:1.5rem 2rem 2rem;text-align:center}.btn-close-menu[data-v-0351f965]{width:100%;padding:.85rem;border-radius:12px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s}.btn-close-menu[data-v-0351f965]:hover{background:var(--bg-neutral);border-color:var(--border-strong)}@media (max-width: 480px){.user-menu-box[data-v-0351f965]{border-radius:32px 32px 0 0;position:fixed;bottom:0;max-width:none;animation:slideUpMobile-0351f965 .3s cubic-bezier(.32,.72,0,1)}@keyframes slideUpMobile-0351f965{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.activity-widget[data-v-73ae9a62]{position:fixed;bottom:1.25rem;right:1.25rem;z-index:900;display:flex;align-items:center;gap:.6rem;background:#1b5e20;color:#fff;border:none;border-radius:40px;padding:.65rem 1.1rem .65rem .85rem;box-shadow:0 4px 20px #00000040;cursor:pointer;font-size:.9rem;transition:transform .15s,box-shadow .15s}.activity-widget[data-v-73ae9a62]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000004d}.widget-dot[data-v-73ae9a62]{width:8px;height:8px;background:#69f0ae;border-radius:50%;flex-shrink:0;animation:blink-73ae9a62 1.2s ease-in-out infinite}@keyframes blink-73ae9a62{0%,to{opacity:1}50%{opacity:.3}}.widget-icon[data-v-73ae9a62]{font-size:1.1rem}.widget-info[data-v-73ae9a62]{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem}.widget-label[data-v-73ae9a62]{font-size:.7rem;opacity:.8;line-height:1}.widget-timer[data-v-73ae9a62]{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.widget-arrow[data-v-73ae9a62]{font-size:1.2rem;opacity:.7;margin-left:.1rem}:root{--primary-color: #8a9a5b;--primary-light: #b2bc8c;--primary-dark: #6b7c41;--primary-rgb: 138, 154, 91;--primary-glow: rgba(138, 154, 91, .2);--brand-forest: #065f46;--bg-main: #f1f5f9;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-input: #ffffff;--bg-neutral: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--text-dim: #94a3b8;--text-inverse: #ffffff;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--border-accent: rgba(138, 154, 91, .3);--danger-color: #ef4444;--danger-bg: #fef2f2;--danger-border: #fecaca;--warning-color: #f59e0b;--warning-bg: #fffbeb;--warning-border: #fde68a;--success-color: #22c55e;--success-bg: #f0fdf4;--success-border: #bbf7d0;--info-color: #3b82f6;--info-bg: #eff6ff;--info-border: #bfdbfe;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .9);--card-shadow: 0 4px 20px rgba(15, 23, 42, .05);--edu-color: #4f46e5;--edu-light: #e0e7ff;--edu-glow: rgba(79, 70, 229, .15);--border-light: #e8edf3;--border-lighter: #f1f5f9;--font-family: "Outfit", "Tenor Sans", sans-serif;--font-display: "Tenor Sans", sans-serif;--btn-radius: 12px;--modal-overlay-bg: rgba(15, 23, 42, .55);--modal-shadow: 0 24px 64px rgba(15, 23, 42, .2);--modal-z: 9999;--modal-z-high: 10000}[data-theme=dark]{--bg-main: #0f172a;--bg-page: #0b1120;--bg-card: #1e293b;--bg-input: #0f172a;--bg-neutral: #334155;--text-main: #f1f5f9;--text-muted: #94a3b8;--text-dim: #64748b;--text-inverse: #0f172a;--border-subtle: rgba(148, 163, 184, .15);--border-strong: rgba(148, 163, 184, .25);--border-accent: rgba(138, 154, 91, .4);--glass-bg: rgba(30, 41, 59, .82);--glass-border: rgba(148, 163, 184, .15);--card-shadow: 0 4px 20px rgba(0, 0, 0, .35);--primary-glow: rgba(138, 154, 91, .25);--danger-bg: rgba(239, 68, 68, .12);--danger-border: rgba(239, 68, 68, .25);--warning-bg: rgba(245, 158, 11, .12);--warning-border: rgba(245, 158, 11, .25);--success-bg: rgba(34, 197, 94, .12);--success-border: rgba(34, 197, 94, .25);--info-bg: rgba(59, 130, 246, .12);--info-border: rgba(59, 130, 246, .25);--border-light: rgba(148, 163, 184, .12);--border-lighter: rgba(148, 163, 184, .07);--edu-light: #1e1b4b;--edu-glow: rgba(99, 102, 241, .2);--modal-overlay-bg: rgba(0, 0, 0, .65);--modal-shadow: 0 24px 64px rgba(0, 0, 0, .45)}:root{color-scheme:light dark}body{margin:0;padding:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.card{background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:var(--card-shadow);border:1px solid rgba(0,0,0,.05)}.btn{padding:.75rem 1.5rem;border-radius:var(--btn-radius);font-weight:600;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff}.input-group{margin-bottom:1.25rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:1rem;transition:border-color .2s}h1,h2,h3,h4{margin-top:0;color:var(--text-color)}a{color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}@font-face{font-display:swap;font-family:Tenor Sans;font-style:normal;font-weight:400;src:url(/app/assets/tenor-sans-regular-PJLPprsv.ttf) format("truetype")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:100;src:url(/app/assets/outfit-v15-latin-100-BAq5GbLe.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:200;src:url(/app/assets/outfit-v15-latin-200-DovQRx1c.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:300;src:url(/app/assets/outfit-v15-latin-300-CRYTwY6m.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:400;src:url(/app/assets/outfit-v15-latin-regular-BGsTXAXT.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:500;src:url(/app/assets/outfit-v15-latin-500-DKnIMDSk.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:600;src:url(/app/assets/outfit-v15-latin-600-B7SfZ07L.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:700;src:url(/app/assets/outfit-v15-latin-700-Cu9v6i1X.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:800;src:url(/app/assets/outfit-v15-latin-800-CQna6-G7.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:900;src:url(/app/assets/outfit-v15-latin-900-D7VxKg29.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}[data-theme=dark] .crop-item{color:var(--text-main)!important}[data-theme=dark] .crop-item [style*="background: var(--bg-card)"],[data-theme=dark] .crop-item [style*="background:var(--bg-card)"],[data-theme=dark] .crop-item [style*="background: rgb(255, 255, 255)"]{background:var(--bg-card)!important;color:var(--text-main)!important}[data-theme=dark] .crop-item [style*="background: var(--bg-page)"],[data-theme=dark] .crop-item [style*="background: var(--bg-main)"],[data-theme=dark] .crop-item [style*="background:var(--bg-page)"]{background:#ffffff0d!important}[data-theme=dark] .crop-item [style*="border: 1px solid var(--border-subtle)"],[data-theme=dark] .crop-item [style*="border-bottom: 1px solid var(--border-subtle)"]{border-color:var(--glass-border)!important}[data-theme=dark] .crop-item [style*="color: var(--text-main)"]{color:var(--text-main)!important}[data-theme=dark] .crop-item [style*="color: var(--text-muted)"]{color:var(--text-muted)!important}[data-theme=dark] .crop-item input,[data-theme=dark] .crop-item select,[data-theme=dark] .crop-item textarea{background:var(--bg-input)!important;color:var(--text-main)!important;border-color:var(--border-strong)!important}[data-theme=dark] .crop-item svg [stroke="#0f172a"]{stroke:var(--text-main)!important}body{margin:0;padding:0;font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);overflow-x:hidden;min-height:100vh;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}.hidden{display:none!important}.globe{position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;animation:float 20s infinite alternate ease-in-out}[data-theme=dark] .globe{opacity:.18}[data-theme=dark] .globe-1{background:radial-gradient(circle,#4a5530 0%,transparent 70%)}[data-theme=dark] .globe-2{background:radial-gradient(circle,#1e3a5f 0%,transparent 70%)}[data-theme=dark] .globe-3{background:radial-gradient(circle,#3d4f22 0%,transparent 70%)}.globe-1{width:600px;height:600px;background:radial-gradient(circle,#b2bc8c 0%,transparent 70%);top:-100px;left:-100px}.globe-2{width:500px;height:500px;background:radial-gradient(circle,#cbd5e1 0%,transparent 70%);bottom:-50px;right:-50px;animation-delay:-5s}.globe-3{width:400px;height:400px;background:radial-gradient(circle,#8a9a5b 0%,transparent 70%);top:40%;left:60%;animation-delay:-10s}@keyframes float{0%{transform:translate(0)}to{transform:translate(30px,50px)}}.glass-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--btn-radius);padding:1.5rem 2.5rem;margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--card-shadow)}.glass-header h1{margin:0;font-size:2.2rem;font-weight:800;color:var(--text-main)}.glass-header h1 span{color:var(--primary-color)}.glass-header p{margin:0;color:var(--text-muted)}.glass-toolbar{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--btn-radius);padding:.75rem 1.75rem;margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--card-shadow)}.toolbar-actions{display:flex;gap:.75rem}.land-tenure-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.kpi-micro{display:flex;flex-direction:column}.kpi-micro .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.kpi-micro .value{font-size:1.2rem;font-weight:700;color:var(--text-main)}.kpi-micro__sub{font-size:.8rem;opacity:.7;font-weight:400;white-space:nowrap}.action-btn-primary{background:var(--primary-glow);border:1px solid var(--primary-color);color:var(--primary-color);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}@media (hover: hover){.action-btn-primary:hover{background:var(--accent-color);color:#fff}}.action-btn-primary:active{transform:scale(.96)}.action-link-small{background:none;border:none;color:var(--accent-color);font-size:.75rem;cursor:pointer;text-decoration:underline;padding:0}.action-btn-mini{background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-muted);cursor:pointer;width:24px;height:24px;font-size:.9rem;display:flex;justify-content:center;align-items:center;transition:all .2s}.action-btn-mini:hover{background:var(--bg-neutral);color:var(--text-main)}.action-btn-rotation{background:var(--accent-glow);border:1px solid var(--accent-color);color:var(--accent-color);padding:.5rem 1rem;border-radius:var(--btn-radius);font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;white-space:nowrap}@media (hover: hover){.action-btn-rotation:hover{background:var(--accent-color);color:#fff;box-shadow:0 0 15px var(--accent-glow)}}.action-btn-rotation:active{transform:scale(.96)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;box-shadow:var(--card-shadow);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.glass-card:hover{border-color:var(--accent-glow);box-shadow:0 12px 40px #0f172a14}.year-selector{display:flex;overflow-x:auto;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.year-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .2s;font-size:.9rem}.year-btn:hover{background:var(--accent-glow)}.year-btn.active{background:var(--accent-glow);border-color:var(--accent-color);color:var(--accent-color);font-weight:700}#campaignCanvas{width:100%;height:80px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem}.checkbox-wrapper input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer}.glass-card h2{margin-top:0;margin-bottom:1.5rem;font-size:1.25rem;border-bottom:1px solid var(--glass-border);padding-bottom:.5rem;color:var(--accent-color)}.input-group{margin-bottom:1rem}.input-group-row{display:flex;gap:1rem}.input-group label{display:block;font-size:.85rem;color:var(--text-main);margin-bottom:.4rem;font-weight:500}.input-group input,.input-group select{width:100%;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:8px;padding:.75rem;color:var(--text-main);font-family:var(--font-family);font-size:1rem;box-sizing:border-box;transition:all .2s}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-glow)}.w-full{width:100%}.tooltip-container{position:relative}.tooltip{visibility:hidden;width:240px;background-color:var(--text-main);color:#fff;text-align:center;border-radius:8px;padding:10px;position:absolute;z-index:50;bottom:125%;left:50%;margin-left:-120px;opacity:0;transition:opacity .3s,transform .3s;font-size:.8rem;pointer-events:none;box-shadow:0 4px 12px #00000026}.tooltip-container:hover .tooltip{visibility:visible;opacity:1}.save-simulation-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.save-simulation-section h3{font-size:1rem;margin-bottom:1rem;color:#fff}.saved-sims-container{margin-top:1.5rem}.saved-sims-container label{font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.5rem}.saved-list{max-height:200px;overflow-y:auto;background:#0003;border-radius:8px;padding:.5rem}.saved-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem}.saved-item:last-child{border-bottom:none}.sim-actions{display:flex;gap:.5rem}.action-btn{background:var(--bg-main);border:1px solid var(--border-subtle);color:var(--text-muted);padding:.2rem .6rem;border-radius:var(--btn-radius);font-size:.75rem;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-neutral);color:var(--text-main)}.action-btn.delete:hover{background:var(--danger-color);border-color:var(--danger-color)}.empty-list{text-align:center;color:var(--text-muted);font-size:.8rem;padding:1rem}.crop-item{background:var(--card-bg);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;border:1px solid var(--glass-border);transition:all .2s;box-shadow:0 2px 8px #0f172a08}.crop-item:hover{border-color:var(--accent-glow);box-shadow:0 4px 12px #0f172a0f}.crop-item-header{padding:1rem 1.5rem .5rem;display:flex;justify-content:space-between;align-items:flex-start;background:var(--accent-glow);border-radius:12px 12px 0 0;border-bottom:1px solid rgba(138,154,91,.1);position:relative;cursor:pointer;transition:all .2s ease}.crop-item-header:hover{background:#8a9a5b4d!important}.crop-header-center{flex:0 0 auto;display:flex;flex-direction:row;align-items:stretch;gap:0;border-left:1px solid var(--border-subtle)}.center-block{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 1.25rem;flex:1;min-width:0}.center-block--right{border-left:1px solid var(--border-subtle);flex:0 0 auto;min-width:130px}.center-block-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:2px}.rot-chip{display:inline-flex;align-items:center;gap:2px;padding:3px 9px;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.rot-chip--dim{background:var(--bg-neutral);color:var(--text-muted);border:1px solid var(--border-subtle)}.rot-chip--active{background:var(--primary-glow);color:var(--primary-color);border:1px solid var(--border-accent);font-weight:800;max-width:130px}.rot-arrow{color:var(--text-dim);font-size:.85rem;flex-shrink:0}@media (max-width: 700px){.crop-header-center{display:none}}.high-contrast-text,.high-contrast-secondary{color:var(--text-color)!important}.contracted-text{letter-spacing:-.02em}.crop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.crop-header h3{margin:0;font-size:1.2rem;color:var(--text-main);font-weight:700}.sidebar{padding:.75rem}.land-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.year-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.25rem;max-height:200px;overflow-y:auto;padding-right:4px}.year-selector-item{display:flex;align-items:stretch;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:all .2s ease;height:34px}.year-selector-item:hover{border-color:var(--border-strong);background:var(--bg-page)}.year-selector-item.active{background:var(--primary-glow);border-color:var(--primary-color)}.year-name-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:.6rem .4rem;cursor:pointer}.year-name-input{background:transparent!important;border:none!important;color:var(--text-dim)!important;padding:0!important;font-size:.8rem!important;font-weight:500!important;text-align:center!important;cursor:text!important;width:100%!important;pointer-events:auto!important;box-shadow:none!important}.year-selector-item.active .year-name-input{color:var(--accent-color)!important;font-weight:700!important}.add-year-btn{background:#ffffff08;border:1px dashed var(--glass-border);border-radius:8px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;width:32px;height:32px}.add-year-btn:hover{background:var(--primary-glow);border-color:var(--primary-color);color:var(--primary-color);border-style:solid}.year-btn{flex:1;background:transparent;border:none;color:var(--text-muted);padding:0 10px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap;min-width:60px}.year-btn.active{color:var(--accent-color);font-weight:700}.lock-btn{width:28px;background:#ffffff0d;border:none;border-left:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem;transition:all .2s;filter:grayscale(1);opacity:.6}.lock-btn:hover{background:#ffffff1a;opacity:1}.delete-year-btn{width:24px;background:#ef44440d;border:none;border-left:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;color:var(--danger-color);transition:all .2s;opacity:.6}.delete-year-btn:hover{background:#ef444433;opacity:1}.lock-btn.locked{background:#f59e0b1a;filter:grayscale(0);opacity:1;color:var(--warning-color)}.editable-year-title{font-size:1.1rem;font-weight:700;color:var(--accent-color);padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .2s;border:1px solid transparent}.editable-year-title:hover{background:var(--primary-glow);border-color:var(--primary-glow)}.year-title-input{background:var(--bg-input);border:1px solid var(--primary-color);border-radius:6px;color:var(--text-main);font-size:1.1rem;font-weight:700;padding:4px 10px;width:180px;font-family:inherit;box-shadow:0 4px 12px var(--primary-glow)}.header-controls{display:flex;gap:.75rem}.toggle-details-btn{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-muted);padding:.3rem .8rem;border-radius:6px;font-size:.75rem;cursor:pointer;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000d}.toggle-details-btn:hover{background:var(--bg-main);color:var(--text-main);border-color:var(--text-dim)}.contracting-section{margin-top:1rem;margin-bottom:2rem;padding-top:1rem;border-top:1px dashed var(--border-subtle)}.contracting-section h4{font-size:.9rem;color:var(--text-muted);margin:0 0 .75rem;font-weight:600}.contracting-summary{display:flex;justify-content:space-between;align-items:center;background:var(--bg-page);padding:.75rem;border-radius:8px;border:1px solid var(--border-subtle);margin-bottom:.5rem}.contracting-total{font-weight:700;color:var(--text-main)}.remove-crop-btn{background:transparent;border:none;color:var(--danger-color);cursor:pointer;font-size:1.2rem;opacity:.7;transition:opacity .2s}.remove-crop-btn:hover{opacity:1}.crop-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.crop-input-small label{font-size:.85rem;font-weight:600}.crop-input-small input,.crop-input-small select{padding:.5rem;font-size:.9rem}.crop-details{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--glass-border);display:block}.crop-details.hidden{display:none}.crop-details h4{margin:0 0 .75rem;font-size:.85rem;color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.detail-input label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem;font-weight:600}.detail-input input{width:100%;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:6px;padding:.4rem;color:var(--text-main);font-size:.85rem}.add-crop-btn-container{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.premium-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.8rem 1.5rem;color:#fff;font-weight:700;font-size:.95rem;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 12px var(--primary-glow),inset 0 1px #fff3;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.75rem;position:relative;overflow:hidden}.premium-btn--sm{padding:.45rem .9rem;font-size:.82rem;border-radius:8px;gap:.4rem}.premium-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.premium-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--primary-glow);background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-color) 100%)}.premium-btn:hover:before{left:100%}.premium-btn:active{transform:translateY(0)}.btn-outline{background:transparent;border:1px solid var(--border-strong);border-radius:8px;padding:.45rem .9rem;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s;font-family:inherit}.btn-outline:hover{background:var(--bg-main);border-color:var(--text-dim);color:var(--text-main)}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.drag-placeholder{background:#3b82f60f;border:2px dashed #93c5fd;border-radius:10px;height:54px;margin-bottom:.5rem;transition:height .12s ease;pointer-events:none}.dragging-item{opacity:.35;pointer-events:none}.total-area-check{font-size:.9rem;color:var(--text-muted)}.kpi-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.kpi-card{background:var(--bg-card);padding:1.25rem;border-radius:12px;display:flex;flex-direction:column;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow)}.kpi-card.highlight{background:#10b9811a;border:1px solid var(--accent-glow)}.kpi-card.highlight-premium{background:linear-gradient(135deg,#6366f133,#a855f733);border:1px solid rgba(168,85,247,.3);box-shadow:0 8px 32px #a855f71a}.kpi-card.highlight-premium .kpi-value{color:#c084fc;font-size:2rem;text-shadow:0 0 20px rgba(168,85,247,.4)}.kpi-card.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.kpi-card.success{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.kpi-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem;font-weight:500}.kpi-value{font-size:1.7rem;font-weight:800;color:var(--text-main)}.kpi-sub{font-size:.8rem;color:var(--text-muted)}.charts-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1rem}.chart-box{background:#0003;border-radius:12px;padding:1rem;height:240px;display:flex;flex-direction:column;align-items:center;border:1px solid var(--glass-border)}.chart-box canvas{flex-grow:1;width:100%!important}.chart-label{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;text-transform:uppercase;letter-spacing:.05em}.table-container{margin-top:1.5rem;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border)}table{width:100%;border-collapse:collapse;background:var(--bg-card)}th{background:var(--bg-page);color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:1.25rem 1rem;text-align:left;border-bottom:2px solid var(--border-subtle)}td{padding:1rem;border-bottom:1px solid var(--bg-main);color:var(--text-muted);font-size:.95rem}th:not(:first-child),td:not(:first-child){text-align:right}tr:hover td{background:var(--bg-page);color:var(--text-main)}#ebeDetailContent{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.ebe-row{display:flex;justify-content:space-between;padding:.75rem 1rem;border-radius:8px}.ebe-row label{font-size:.9rem;color:var(--text-muted)}.ebe-row span{font-weight:500}.ebe-row.subtotal{background:#3b82f61a;border-left:4px solid #3b82f6;margin:.5rem 0}.ebe-row.subtotal label{color:var(--text-muted);font-weight:600}.ebe-row.total{background:#10b98126;margin-top:1rem;padding:1.25rem 1rem;border:1px solid var(--accent-glow)}.ebe-row.total label{font-weight:700;font-size:1.15rem;color:var(--text-main)}.ebe-row.total span{font-size:1.4rem;font-weight:800;color:var(--accent-color)}.ebe-positive{color:#10b981}.ebe-negative{color:var(--danger-color)}.tabs-header{display:flex;overflow-x:auto;white-space:nowrap;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--bg-main)}.tabs-header::-webkit-scrollbar{height:4px}.tabs-header::-webkit-scrollbar-thumb{background:var(--bg-neutral);border-radius:10px}.tab-btn{background:var(--bg-page);border:1px solid var(--border-subtle);padding:.6rem 1.2rem;border-radius:10px;cursor:pointer;font-family:var(--font-family);font-size:.85rem;font-weight:600;color:var(--text-muted);transition:all .2s;display:flex;align-items:center;gap:8px}.tab-btn:hover{background:var(--bg-main);color:var(--text-main)}.tab-btn.active{background:var(--bg-card);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 4px 12px #10b9811a}.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}.data-table{border-radius:8px;overflow:hidden}.data-table input{background:transparent;border:1px solid transparent;padding:4px 8px;border-radius:4px;transition:all .2s;font-family:inherit;color:var(--text-main)}.data-table input:focus{background:var(--bg-card);border-color:var(--accent-color);outline:none;box-shadow:0 0 0 2px #10b9811a}.op-name-input{font-weight:500}.op-cost-input{text-align:right;font-family:JetBrains Mono,monospace;font-weight:600}.icon-btn-danger{background:#ef44440d;border:1px solid rgba(239,68,68,.1);color:var(--danger-color);border-radius:6px;cursor:pointer;transition:all .2s}.icon-btn-danger:hover{background:#ef4444;color:#fff}.report-body{background:var(--bg-card);color:var(--text-main);padding:3rem;border-radius:8px;font-family:Inter,system-ui,sans-serif;line-height:1.6}.report-header{border-bottom:3px solid #10b981;padding-bottom:2rem;margin-bottom:3rem;display:flex;justify-content:space-between;align-items:center}.report-header h1{font-size:2.2rem;color:var(--text-main);margin:0}.report-section{margin-bottom:3rem}.report-section h3{font-size:1.4rem;color:var(--text-main);border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem;margin-bottom:1.5rem}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.report-kpi{padding:1rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:6px}.report-kpi label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.3rem}.report-kpi .value{font-size:1.25rem;font-weight:700;color:var(--text-main)}.report-table{width:100%;border-collapse:collapse;margin-top:1rem}.report-table th,.report-table td{padding:.8rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.report-table th{background:var(--bg-main);font-weight:600}@media print{body *{visibility:hidden}#reportModal,#reportModal *{visibility:visible}#reportModal{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;background:var(--bg-card)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.report-modal-content{background:var(--bg-card)!important;box-shadow:none!important;border:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.no-print,.modal-close-x{display:none!important}.modal{background:var(--bg-card)!important}}.rotation-table{width:100%;border-collapse:separate;border-spacing:0;min-width:800px}.rotation-table th,.rotation-table td{padding:12px 16px;text-align:center;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);font-size:.9rem}.rotation-table th{background:var(--bg-page);color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--border-subtle)}.rotation-table td:first-child{z-index:10;box-shadow:1px 0 0 var(--border-subtle)}.rotation-table tbody tr:hover td{background-color:var(--bg-main)}.config-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;padding:.25rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;transition:all .2s}.config-item:hover{background:var(--bg-card);border-color:var(--accent-color);box-shadow:0 4px 12px #10b9811a}.config-item .crop-info{display:flex;align-items:center;gap:.75rem}.config-item .crop-dot{width:12px;height:12px;border-radius:50%}.config-item .crop-name{color:var(--text-main);font-weight:600;font-size:.95rem}.action-btn-secondary{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-muted);padding:.75rem 1rem;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.action-btn-secondary:hover{background:var(--bg-main);color:var(--text-main);border-color:var(--text-dim)}.pedagogical-label:hover{color:var(--accent-color)!important;text-decoration:underline}.main-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:0;padding:.5rem 1rem;margin-bottom:.5rem}.main-brand{display:flex;align-items:center;gap:.5rem;cursor:pointer;min-width:160px}.logo-img-nav{height:44px;width:auto;object-fit:contain;margin:2px}.logo-text-nav{font-family:var(--font-family);font-size:1.6rem;letter-spacing:.12em;margin:0}.header-center-info{flex:1;display:flex;justify-content:center;align-items:center}.user-nav-actions{display:flex;align-items:center;gap:1.5rem;justify-content:flex-end}.logout-btn{background:var(--primary-color)!important;color:#fff!important;border:none;font-size:.85rem;padding:0 1.25rem;height:2.4rem;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;font-weight:700;transition:all .2s ease}.logout-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.theme-toggle-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-main);font-size:1.1rem;width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,transform .15s;flex-shrink:0}.theme-toggle-btn:hover{background:var(--primary-glow);transform:scale(1.1)}.campaign-selector-wrapper{width:100%;margin-bottom:.75rem}.main-layout.with-nav{display:flex;gap:1rem;align-items:start;padding-top:1.5rem}.main-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;padding:0 1.5rem 1.5rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.main-sidebar::-webkit-scrollbar{display:none}.btn-global-intervention{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.9rem 1rem;background:linear-gradient(135deg,var(--primary-color),var(--brand-forest));color:#fff;font-weight:700;font-size:1rem;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);margin-top:1.25rem;margin-bottom:.5rem;letter-spacing:.01em}.sidebar-category-label{margin:.5rem 0 .25rem;font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sidebar-category-label--params{margin-top:1.5rem}.with-nav-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5rem;overflow-anchor:none}.mobile-toggle-btn{display:none;background:none;border:none;width:44px;height:44px;position:relative;cursor:pointer;z-index:1100;padding:0;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-toggle-btn .bar{display:block;width:28px;height:3px;background-color:var(--text-main);position:absolute;left:6px;transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:4px}.mobile-toggle-btn .bar-1{top:12px}.mobile-toggle-btn .bar-2{top:20px}.mobile-toggle-btn .bar-3{top:28px}.mobile-toggle-btn.is-open .bar-1{transform:translateY(8px) rotate(45deg);background-color:var(--primary-color)}.mobile-toggle-btn.is-open .bar-2{opacity:0;transform:translate(10px)}.mobile-toggle-btn.is-open .bar-3{transform:translateY(-8px) rotate(-45deg);background-color:var(--primary-color)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;opacity:0;transition:opacity .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.sidebar-overlay.is-active{display:block;opacity:1}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.app-container{padding:.75rem}.glass-card{padding:1rem}.logo-img-nav{height:36px}.logo-text-nav{font-size:1.3rem}.mobile-toggle-btn{display:flex}.main-layout.with-nav{flex-direction:column;padding-top:0}.main-sidebar{position:fixed;top:0;left:0;width:320px;height:100%;z-index:1100;transform:translate(-100%);will-change:transform;transition:transform .28s cubic-bezier(.4,0,.2,1);border-radius:0;border-right:1px solid var(--glass-border);box-shadow:20px 0 50px #0000001a;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.main-sidebar.is-mobile-open{transform:translate(0)}.with-nav-main{width:100%}.user-nav-actions{display:none}.brand-group{width:auto;flex-shrink:0}.main-brand{min-width:unset;gap:.25rem}}.mobile-sidebar-header{display:none}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.mobile-sidebar-header{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--glass-border);margin-bottom:.5rem;background:rgba(var(--primary-rgb),.03)}.mobile-sidebar-farm{display:flex;flex-direction:column;gap:2px;width:100%}.mobile-sidebar-farm-name{font-weight:800;color:var(--text-main);font-size:1.1rem}}.mobile-fab{display:none}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.mobile-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:1.5rem;right:1.5rem;z-index:1200;width:56px;height:56px;border-radius:50%;background:var(--primary-color, #8ca363);color:#fff;font-size:1.4rem;border:none;cursor:pointer;box-shadow:0 4px 20px #00000040;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .15s ease}.mobile-fab:active{transform:scale(.92);box-shadow:0 2px 10px #0003}}@media (max-width: 480px){.app-container{padding:.25rem}.glass-card{padding:.75rem}.main-header{padding:.5rem .4rem}.logo-text-nav{display:none}.modal-content{padding:1.5rem;width:95%}}@media (max-width: 768px){.view-section-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;display:flex;justify-content:space-between}.header-actions button{flex:1;margin-right:0!important;justify-content:center}.financial-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.financial-mini-table{min-width:600px}}::placeholder{color:var(--text-dim);opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.globe{animation:none!important}}.app-container{max-width:1800px;margin:0 auto;padding:1rem}.background-globes{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.top-nav{z-index:1000}.brand-group{display:flex;align-items:center;gap:1rem}.farm-info-nav{display:flex;align-items:center;gap:.75rem;padding:.4rem .8rem;background:rgba(var(--primary-rgb),.05);border-radius:12px;border:1px solid rgba(var(--primary-rgb),.1);transition:all .2s ease}.clickable-user-nav{cursor:pointer;-webkit-user-select:none;user-select:none}.clickable-user-nav:hover{background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.2);transform:translateY(-1px)}.clickable-user-nav:active{transform:translateY(0);background:rgba(var(--primary-rgb),.15)}.farm-info-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.farm-name-display-nav{font-weight:700;font-size:.85rem;color:var(--text-main)}.user-action-hint{font-size:.7rem;color:var(--primary-color);font-weight:600;opacity:.8}.user-avatar-mini{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-color),#10b981);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;box-shadow:0 2px 4px #0000001a}.mobile-sidebar-user-hint{font-size:.75rem;color:var(--primary-color);font-weight:600;margin-top:.2rem}.sidebar-sections{display:flex;flex-direction:column;gap:.5rem;padding:0;margin-top:1rem}.sidebar-btn{background:transparent;border:none;color:var(--text-muted);padding:.6rem 1rem .6rem 1.5rem;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;min-height:40px;touch-action:manipulation;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-btn .icon{display:inline-flex;align-items:center;justify-content:center;width:20px;font-size:1.1rem;flex-shrink:0}@media (hover: hover){.sidebar-btn:hover{background:var(--bg-main);color:var(--text-main)}}.sidebar-btn:active{background:var(--bg-neutral)}.sidebar-btn.active{background:rgba(var(--primary-rgb),.1);color:var(--primary-color);box-shadow:inset 3px 0 0 var(--primary-color);font-weight:700}.sidebar-category-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;background:transparent;border:none;width:100%;text-align:left;font-family:inherit;min-height:40px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover: hover){.sidebar-category-header:hover{background-color:#0000000d}}.sidebar-category-header:active{background-color:#0000001a}.sidebar-category-label{margin:0!important;font-weight:700;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.chevron{font-size:.7rem;color:var(--text-dim);transition:transform .3s ease}.is-expanded .chevron{transform:rotate(180deg)}.sidebar-section-content{overflow:hidden;display:flex;flex-direction:column;gap:2px;padding-left:0}.expand-enter-active,.expand-leave-active{transition:max-height .3s ease-in-out,opacity .3s ease-in-out;max-height:500px}.expand-enter-from,.expand-leave-to{max-height:0;opacity:0}@media (hover: hover){.sidebar-btn--admin:hover{background:rgba(var(--primary-rgb),.1);border-left:3px solid var(--primary-color)}}.sidebar-btn--admin:active{background:rgba(var(--primary-rgb),.15);border-left:3px solid var(--primary-color)}.sidebar-btn--premium{color:#c2410c!important;font-weight:700;background:#f59e0b0d;box-shadow:inset 3px 0 #f59e0b}.sidebar-btn--edu{color:#4f46e5!important;font-weight:700;background:#4f46e50a;box-shadow:inset 3px 0 #4f46e5;text-decoration:none}.sidebar-btn--edu:hover{background:#4f46e514!important}.sidebar-btn--startup{margin-bottom:1.5rem;background:var(--primary-glow);border:1px dashed var(--primary-color)}.sidebar-btn--dashboard{margin-bottom:.5rem}.sidebar-btn--teacher{margin-top:.5rem;margin-bottom:.5rem;padding-left:1.5rem}.sidebar-category-header--static{cursor:default;pointer-events:none}.global-announcement-banner{background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;padding:.85rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:1001;text-align:center;font-size:1rem;font-weight:500;box-shadow:0 4px 15px #4f46e540;position:relative;border-bottom:1px solid rgba(255,255,255,.1)}.global-announcement-icon{font-size:1.4rem;animation:pulse-soft 2s infinite}.global-announcement-content{display:flex;align-items:center;gap:.75rem;max-width:900px}@keyframes pulse-soft{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}to{transform:scale(1);opacity:1}}.email-verify-banner{background:#f59e0b;color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:100;text-align:center;font-size:.95rem;box-shadow:0 4px 12px #f59e0b33}.email-verify-icon{font-size:1.4rem;flex-shrink:0}.email-verify-text{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.email-verify-resend{background:#ffffff40;border:1px solid rgba(255,255,255,.6);color:#fff;padding:.25rem .75rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;white-space:nowrap;transition:background .2s}.email-verify-resend:hover:not(:disabled){background:#fff6}.email-verify-resend:disabled{opacity:.6;cursor:not-allowed}.readonly-banner{background:#ef4444;color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:1000;position:sticky;top:0;box-shadow:0 4px 12px #ef444433;text-align:center;font-size:.95rem}.readonly-banner-icon{font-size:1.4rem}.readonly-link{color:#fff;text-decoration:underline;font-weight:700;margin:0 .25rem}.app-footer{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem;margin-top:3rem;width:100%}.app-footer-warning{margin-bottom:1rem}.footer-link{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.btn-theme-footer{margin-top:.75rem;background:none;border:1px solid var(--border-subtle);border-radius:8px;padding:.35rem .85rem;cursor:pointer;font-size:.8rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.4rem;transition:background .2s,border-color .2s,color .2s}.btn-theme-footer:hover{background:var(--bg-neutral);border-color:var(--border-strong);color:var(--text-main)}.campaign-selector-bar{margin:0;padding:0;z-index:100;display:flex;align-items:center}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.campaign-selector-bar{display:none}}.mobile-campaign-block{display:none;flex-direction:column;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-page)}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.mobile-campaign-block{display:flex}}.mobile-campaign-row{display:flex;gap:.4rem;align-items:center}.mobile-campaign-select{flex:1;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border-strong);font-size:.85rem;font-weight:600;color:var(--text-main);background:var(--bg-card);outline:none;min-width:0}.mobile-campaign-add-btn{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px dashed var(--border-strong);background:var(--bg-card);font-size:1.2rem;font-weight:700;color:#10b981;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}@media (max-width: 1366px),(hover: none) and (pointer: coarse){.no-mobile-globes{display:none!important}.glass-card{-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;background:#fffffff2!important}[data-theme=dark] .glass-card{background:#1e293bf2!important}.sidebar,.top-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--bg-card)!important}[data-theme=dark] .sidebar,[data-theme=dark] .top-nav{background:var(--bg-page)!important}}.nav-premium-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;height:2.4rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-decoration:none;border-radius:999px;font-weight:700;font-size:.85rem;box-shadow:0 2px 8px #f59e0b4d;transition:all .2s ease;margin-right:.5rem}.nav-premium-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66;filter:brightness(1.1)}.nav-premium-btn .premium-icon{font-size:1rem}.sidebar{display:flex;flex-direction:column}.sidebar-upgrade-card-container{padding:1.5rem 1rem;margin-top:auto}.sidebar-upgrade-card{background:linear-gradient(135deg,#f59e0b1a,#d977060d);border:1px solid rgba(245,158,11,.2);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;position:relative;overflow:hidden;box-shadow:0 4px 12px #f59e0b14}[data-theme=dark] .sidebar-upgrade-card{background:linear-gradient(135deg,#f59e0b26,#d9770614);border-color:#f59e0b4d}.upgrade-card-icon{font-size:1.8rem;margin-bottom:.1rem}.upgrade-card-title{margin:0;font-size:.95rem;font-weight:800;color:#92400e}[data-theme=dark] .upgrade-card-title{color:var(--warning-color)}.upgrade-card-text{margin:0;font-size:.75rem;color:#b45309;line-height:1.4}[data-theme=dark] .upgrade-card-text{color:#fbbf24}.btn-upgrade-action{background:#f59e0b;color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:8px;font-weight:700;font-size:.85rem;display:block!important;width:100%;transition:all .2s ease;box-shadow:0 4px 12px #f59e0b33;margin-top:2rem!important}.btn-upgrade-action:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b4d}@media (max-width: 1200px){.nav-premium-btn .premium-text,.nav-premium-btn .premium-arrow{display:none}.nav-premium-btn{padding:.4rem .6rem}}@media (max-width: 768px){.nav-premium-btn{display:none}}.teacher-preview-banner-sidebar{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;background:var(--edu-color-soft, #ecfdf5);border-radius:.5rem;border-left:3px solid var(--edu-color, #16a34a);margin-bottom:.75rem}.preview-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--edu-color, #16a34a)}.preview-farm-name{font-size:.9rem;font-weight:600;color:var(--text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-preview-topbar{display:flex;align-items:center;gap:.75rem;padding:.55rem 1.25rem;background:#1e40af;color:#fff;font-size:.875rem;position:sticky;top:0;z-index:900}.preview-topbar-icon{font-size:1rem;flex-shrink:0}.preview-topbar-text{flex:1}.preview-topbar-close{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.3rem .8rem;border-radius:.35rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.preview-topbar-close:hover{background:#ffffff40}.disabled-link{opacity:.4;pointer-events:none;cursor:not-allowed;filter:grayscale(100%)}.btn-global-intervention{margin:1.25rem auto .5rem;width:calc(100% - 2rem);display:flex;justify-content:center}.btn-global-intervention:disabled{background:var(--text-dim);cursor:not-allowed;opacity:.6}.btn-resume-activity{margin:.25rem auto .5rem;width:calc(100% - 2rem);display:flex;justify-content:center;background:#e53935;color:#fff;border:none;border-radius:10px;padding:.65rem 1rem;font-size:.9rem;font-weight:700;cursor:pointer;animation:pulse-red 1.5s ease-in-out infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.78}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffff4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:1;transition:all .3s ease}.modal.hidden{display:none!important;opacity:0;pointer-events:none;transform:scale(.98)}.modal-content{background:var(--bg-card);border:1px solid var(--glass-border);padding:2.5rem;border-radius:20px;width:fit-content;max-width:min(90vw,800px);max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--card-shadow);color:var(--text-main);min-width:min(320px,calc(100vw - 2rem));min-height:220px;resize:both}@media (max-width: 900px){.modal-content{min-width:0;min-height:0;resize:none}}.notification-stack{position:fixed;bottom:2rem;right:2rem;z-index:11000;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.app-toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;background:var(--bg-card, #fff);box-shadow:0 8px 32px #0000002e;font-size:.95rem;font-weight:500;color:var(--text-main, #0f172a);min-width:280px;max-width:420px}.app-toast.success{border-left:4px solid var(--success-color);background:linear-gradient(135deg,var(--success-bg),var(--bg-card, #fff))}.app-toast.error{border-left:4px solid var(--danger-color);background:linear-gradient(135deg,var(--danger-bg),var(--bg-card, #fff))}.app-toast.warning{border-left:4px solid var(--warning-color);background:linear-gradient(135deg,var(--warning-bg),var(--bg-card, #fff))}.app-toast.info{border-left:4px solid var(--info-color);background:linear-gradient(135deg,var(--info-bg),var(--bg-card, #fff))}.app-toast-icon{font-size:1.2rem;flex-shrink:0}.app-toast-msg{flex:1}.app-toast-close{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:.9rem;padding:0 .25rem;flex-shrink:0;transition:color .2s}.app-toast-close:hover{color:var(--text-muted)}.toast-slide-enter-active,.toast-slide-leave-active{transition:transform .35s ease,opacity .35s ease}.toast-slide-enter-from,.toast-slide-leave-to{transform:translateY(20px);opacity:0}.app-toast.confirm{border-left:4px solid var(--warning-color, #f59e0b);background:var(--bg-card, #fff);flex-direction:column;align-items:flex-start;padding:1.25rem;width:340px}.app-toast.confirm .app-toast-msg{font-weight:700;margin-bottom:.5rem}.app-toast-actions{display:flex;gap:.75rem;margin-top:.5rem;width:100%}.btn-toast-cancel{flex:1;padding:.5rem;border-radius:8px;border:1px solid var(--border-subtle, #e2e8f0);background:var(--bg-card);color:var(--text-main, #0f172a);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-toast-confirm{flex:1;padding:.5rem;border-radius:8px;border:none;background:#ef4444;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-toast-confirm:hover{background:#dc2626;transform:translateY(-1px)}.btn-toast-cancel:hover{background:var(--bg-page);transform:translateY(-1px)}.logo-stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.teacher-badge-edu{background:linear-gradient(135deg,var(--edu-blue, #4f46e5),#6366f1);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.12em;padding:2px 6px;border-radius:4px;line-height:1;margin-top:.3rem;margin-left:.1rem;white-space:nowrap;display:inline-block;vertical-align:middle;box-shadow:0 2px 4px #4f46e533;border:1px solid rgba(255,255,255,.1);text-transform:uppercase}.founder-badge{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#78350f;font-size:.65rem;font-weight:900;letter-spacing:.1em;padding:2px 8px;border-radius:4px;line-height:1;margin-top:.3rem;margin-left:.1rem;white-space:nowrap;display:inline-block;vertical-align:middle;box-shadow:0 2px 6px #f59e0b4d;border:1px solid rgba(255,255,255,.4);text-transform:uppercase;animation:shine 3s infinite}@keyframes shine{0%{filter:brightness(1)}50%{filter:brightness(1.2)}to{filter:brightness(1)}}.badge-icon{font-size:1.1rem}.edu-student-badge{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #4f46e54d;margin-right:1rem}@media (max-width: 768px){.edu-student-badge{padding:.3rem .6rem;font-size:.75rem;margin-right:.5rem}}.eta-badge{background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff;font-size:.6rem;font-weight:900;letter-spacing:.12em;padding:2px 6px;border-radius:4px;line-height:1;margin-top:.3rem;margin-left:.1rem;white-space:nowrap;display:inline-block;vertical-align:middle;text-transform:uppercase}.eta-invite-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#e8f5e9,var(--bg-card, #fff));border-bottom:2px solid #2e7d32;font-size:.9rem;flex-wrap:wrap}.eta-invite-banner-icon{font-size:1.3rem;flex-shrink:0}.eta-invite-banner-text{flex:1}.eta-invite-banner-token{font-family:monospace;letter-spacing:.12em;color:#1b5e20;font-size:1.05rem}.eta-invite-banner-actions{display:flex;gap:.5rem}.btn-eta-accept{background:#2e7d32;color:#fff;border:none;border-radius:8px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-eta-reject{background:none;border:1px solid var(--danger-color);color:var(--danger-color);border-radius:8px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer}.sidebar-btn--eta{background:linear-gradient(135deg,#1b5e201f,#2e7d320f);border-left:3px solid #2e7d32;font-weight:600}.password-requirements{margin-top:.5rem;padding:0;list-style:none;font-size:.85rem;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.password-requirements li{display:flex;align-items:center;gap:8px;transition:all .2s ease}.password-requirements li .bullet{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--border-strong);border-radius:50%;font-size:8px;color:transparent;flex-shrink:0;transition:all .2s ease}.password-requirements li.is-met{color:var(--success-color)}.password-requirements li.is-met .bullet{background-color:var(--success-color);border-color:var(--success-color);color:#fff}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:0;box-shadow:0 0 0 3px var(--primary-glow)}a:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg, rgba(15, 23, 42, .55));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--modal-z, 9999);animation:overlayFadeIn .15s ease-out}.modal-overlay--high{z-index:var(--modal-z-high, 10000)}.modal-overlay--scroll{align-items:flex-start;padding:2vh 1rem;overflow-y:auto}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-card);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--modal-shadow, 0 24px 64px rgba(15, 23, 42, .2));border:1px solid var(--border-subtle);position:relative;display:flex;flex-direction:column;animation:modalEnter .2s ease-out}.modal-box--sm{max-width:400px}.modal-box--wide{max-width:860px}.modal-box--xl{max-width:1100px}.modal-box--xxl{max-width:1300px}.modal-box--padded{padding:2rem}.modal-box--padded-xl{padding:2.5rem}@keyframes modalEnter{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-main)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border-subtle);flex-shrink:0}.modal-footer--between{justify-content:space-between}.modal-close{width:32px;height:32px;min-width:32px;border-radius:50%;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s,transform .15s;flex-shrink:0;padding:0;z-index:1}.modal-box>.modal-close{position:absolute;top:1rem;right:1rem}.modal-close:hover{background:var(--danger-bg);color:var(--danger-color);border-color:var(--danger-border)}.modal-close:active{transform:scale(.9)}@media (max-width: 640px){.modal-overlay{align-items:flex-end}.modal-box{border-radius:16px 16px 0 0;max-height:95vh;max-width:100%!important;animation:modalSlideUp .25s ease-out}.modal-box--padded,.modal-box--padded-xl{padding:1.25rem}.modal-header,.modal-body,.modal-footer{padding-left:1rem;padding-right:1rem}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.admin-dashboard{display:flex;flex-direction:column;gap:2rem}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;text-align:center}.stat-card.highlight{border:1px solid var(--success-color);background:#10b9810d}.stat-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.search-container{flex:1;max-width:400px;margin-left:2rem}.search-input{width:100%;padding:.6rem 1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);font-size:.9rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.italic{font-style:italic}.badge.super_admin{background:#fee2e2;color:#991b1b}.badge.teacher{background:#e0e7ff;color:#3730a3}.badge.farm_admin{background:#dcfce7;color:#166534}.badge.user{background:var(--bg-main);color:var(--text-muted)}.badge.deactivated{background:var(--text-main);color:var(--bg-page)}.action-list{display:flex;flex-direction:column;gap:.5rem}.action-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;text-align:left;transition:all .2s;text-decoration:none;color:inherit;width:100%}.action-item:hover{background:var(--bg-main);border-color:var(--primary-color)}.action-item.danger:hover{border-color:var(--danger-color);background:#fef2f2}.action-item.success:hover{border-color:#10b981;background:#f0fdf4}.action-icon{font-size:1.5rem}.action-title{font-weight:700;font-size:.95rem}.auth-page{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100%;background-color:var(--bg-page);font-family:var(--font-family);overflow:hidden;position:relative}.auth-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);padding:3rem;border-radius:24px;box-shadow:var(--card-shadow);width:100%;max-width:550px;z-index:10}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-bottom:1rem}.auth-logo .logo-img{height:clamp(32px,8vw,72px);width:auto;object-fit:contain}.auth-logo .logo-text{font-family:var(--font-family);font-size:clamp(1.2rem,5vw,2.5rem);letter-spacing:.12em;margin:0}.auth-subtitle{color:var(--text-muted);font-size:1.1rem}.btn-auth{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px var(--primary-glow)}.btn-auth:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px var(--primary-glow)}.btn-auth:disabled{opacity:.7;cursor:not-allowed}.error-message{background:var(--danger-bg);color:var(--danger-color);padding:1rem;border-radius:12px;text-align:center;margin-top:1.5rem;font-size:.9rem;border:1px solid var(--danger-color)}.auth-footer{margin-top:2rem;text-align:center;font-size:.95rem;color:var(--text-muted)}.auth-footer a{color:var(--primary-color);text-decoration:none;font-weight:700}.auth-footer a:hover{text-decoration:underline}.back-home{text-align:center;margin-top:1rem}.back-home a{font-size:.85rem;color:var(--text-dim);text-decoration:none}.legal-footer{margin-top:3rem;font-size:.8rem;color:var(--text-dim);z-index:10}.legal-footer a{color:inherit;text-decoration:none;margin:0 .5rem}.form-actions-secondary{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;margin-top:-.5rem}.checkbox-group{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin-bottom:0!important}.forgot-link{font-size:.9rem;color:var(--primary-color);text-decoration:none;font-weight:500}.forgot-link:hover{text-decoration:underline}.checkbox-group input[type=checkbox]{width:auto!important;margin:0!important;cursor:pointer}.checkbox-group label{display:inline!important;width:auto!important;margin:0!important;cursor:pointer;color:var(--text-muted);font-size:.9rem}.gar-separator{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 1rem;color:var(--text-dim);font-size:.85rem}.gar-separator:before,.gar-separator:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.btn-gar{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.85rem 1rem;background:transparent;color:var(--text-main);border:1.5px solid var(--border-subtle);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.btn-gar:hover{background:var(--glass-bg);border-color:var(--primary-color);color:var(--primary-color)}.gar-icon{width:18px;height:18px;flex-shrink:0}@media (max-width: 600px){.auth-page{justify-content:flex-start;padding:1.5rem 1rem}.auth-card{padding:1.5rem 1.25rem;border-radius:16px;max-width:100%}.auth-header{margin-bottom:1.5rem}.auth-logo{gap:.4rem;margin-bottom:.75rem}.auth-subtitle{font-size:.9rem}.legal-footer{margin-top:1rem;text-align:center;padding:0 1rem;line-height:1.8}}.settings-grid{display:block}.settings-tabs{display:flex;flex-wrap:nowrap;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border-strong);padding-bottom:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.settings-tabs::-webkit-scrollbar{height:4px}.settings-tabs::-webkit-scrollbar-track{background:transparent}.settings-tabs::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}@media (max-width: 768px){.settings-tabs{gap:.5rem;margin-bottom:1.5rem}.settings-tab-btn{padding:.6rem 1rem;font-size:.9rem;white-space:nowrap}}.settings-tab-btn{padding:.75rem 1.5rem;background:none;border:none;font-size:1rem;color:var(--text-main);font-weight:700;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;border-top-left-radius:8px;border-top-right-radius:8px;white-space:nowrap;flex-shrink:0}.settings-tab-btn.active{color:#059669;border-bottom-color:#059669;background:#0596690d}.settings-tab-btn:hover:not(.active){color:var(--text-main);border-bottom-color:var(--border-strong);background:var(--bg-neutral)}.settings-col{display:flex;flex-direction:column;gap:2rem}.settings-card{background:var(--bg-card);border-radius:20px;border:1px solid var(--border-subtle);padding:2rem;box-shadow:var(--card-shadow, 0 4px 12px rgba(0, 0, 0, .02))}.settings-card-header{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}.settings-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.settings-card-icon--green{background:#f0fdf4}.settings-card-icon--red{background:#fff1f2}.settings-card-icon--purple{background:#fdf4ff}.settings-card-title{margin:0;color:var(--text-main);font-weight:800}.settings-fields{display:flex;flex-direction:column;gap:1.5rem}.settings-field{display:flex;flex-direction:column}.settings-field--full{width:100%}.settings-field--toggle{padding:1rem;border:1px dashed var(--border-subtle);border-radius:12px;background:var(--bg-page)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-toggle-label{font-size:.9rem;color:var(--text-main);font-weight:600;line-height:1.35}.settings-switch{position:relative;width:52px;height:30px;flex-shrink:0}.settings-switch input{position:absolute;opacity:0;width:0;height:0}.settings-switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1;border:1px solid #94a3b8;transition:all .2s ease}.settings-switch-slider:before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a2e;transition:transform .2s ease}.settings-switch input:checked+.settings-switch-slider{background:#22c55e;border-color:#16a34a}.settings-switch input:checked+.settings-switch-slider:before{transform:translate(22px)}.settings-switch.is-disabled{opacity:.65;pointer-events:none}.settings-field label{font-weight:700;color:var(--text-muted);margin-bottom:.5rem;display:block}.settings-field input,.settings-field select{width:100%;padding:.8rem 1rem;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-main);font-weight:600;box-sizing:border-box;font-size:.95rem}.settings-field-hint{font-size:.75rem;color:var(--text-dim);margin-top:.75rem}.settings-field-sm label{font-size:.85rem;font-weight:700;color:var(--text-muted);margin-bottom:.4rem;display:block}.settings-field-sm input{width:100%;padding:.7rem 1rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-main);box-sizing:border-box}.settings-field-sm{margin-bottom:1.2rem}.settings-field-sm select{width:100%;padding:.7rem 1rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-main);box-sizing:border-box}.settings-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.75rem}.settings-action-divider{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.settings-full-btn{width:100%;justify-content:center;padding:1rem;font-weight:800;border-radius:14px}.settings-export-btn{width:100%;justify-content:center;padding:.8rem;border-radius:10px;font-weight:700;color:var(--edu-color, #4f46e5);border:1px solid var(--edu-light, #e0e7ff);background:var(--edu-glow, #eef2ff);cursor:pointer}.settings-export-btn:hover{filter:brightness(.95)}.settings-data-desc{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.settings-import-zone{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed var(--border-subtle)}.settings-import-zone .settings-data-desc{margin-bottom:1rem}.import-preview-card{margin-top:1.25rem;padding:1.25rem;border:1px solid rgba(239,68,68,.18);border-radius:16px;background:linear-gradient(180deg,#fffbebeb,#fffffffa)}.import-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.import-preview-header h4{margin:0 0 .35rem;color:var(--text-main)}.import-preview-header p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.import-warning-box{padding:1rem;border-radius:12px;border:1px solid rgba(245,158,11,.28);background:#fef3c78c;margin-bottom:1rem}.import-warning-box p{margin:0 0 .5rem;color:#92400e;font-size:.9rem;line-height:1.45}.import-warning-box p:last-child{margin-bottom:0}.import-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.import-preview-item{padding:.85rem .9rem;border-radius:12px;background:#ffffffe6;border:1px solid var(--border-subtle)}.import-preview-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.35rem}.import-confirm-field{margin-bottom:1rem}.import-confirm-field code{background:var(--bg-neutral);padding:.1rem .3rem;border-radius:4px}.drop-zone{margin:.75rem 0 0;padding:2rem;border:2px dashed var(--border-strong);border-radius:12px;background:var(--glass-bg);transition:all .3s ease;text-align:center;cursor:pointer}.drop-zone.dragging{border-color:#10b981;background:#10b9810d;transform:scale(1.01)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem}.drop-zone-content p{margin:0}.drop-icon{font-size:2.5rem}.file-input-label{color:#10b981;font-weight:600;cursor:pointer;text-decoration:underline}.settings-message{margin-top:1rem;text-align:center;font-weight:700}.settings-message--success{color:#10b981}.settings-message--error{color:var(--danger-color)}.settings-danger-zone{margin-top:3rem;padding:1.5rem;border:1px solid rgba(239,68,68,.3);background-color:#ef44440d;border-radius:16px}.danger-header{display:flex;align-items:center;gap:10px;margin-bottom:1rem}.danger-icon{font-size:1.25rem}.danger-title{margin:0;color:var(--danger-color);font-size:1.1rem;font-weight:700}.danger-desc{font-size:.9rem;color:var(--text-main);margin-bottom:1.5rem;line-height:1.5}.danger-btn{background:var(--bg-card);color:var(--danger-color);border:1px solid rgba(239,68,68,.3);padding:.75rem 1.5rem;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#ef4444;color:#fff;border-color:var(--danger-color)}.danger-confirm-box{background:var(--bg-card);padding:1.25rem;border-radius:12px;border:1px solid rgba(239,68,68,.3);box-shadow:var(--card-shadow)}.confirm-text{margin-top:0;margin-bottom:1rem;font-weight:700;color:var(--text-main);font-size:.95rem}.confirm-actions{display:flex;gap:1rem}@media (max-width: 768px){.import-preview-header{flex-direction:column}}.danger-btn-confirm{background:#dc2626;color:#fff;border:none;padding:.7rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer}.danger-btn-confirm:hover{background:#b91c1c}.cancel-btn{background:var(--bg-neutral);color:var(--text-main);border:1px solid var(--border-subtle);padding:.7rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer}.cancel-btn:hover{filter:brightness(.95)}.pending-email-info{display:flex;gap:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:1rem;margin-bottom:1.5rem;align-items:flex-start}.pending-email-icon{font-size:1.25rem;flex-shrink:0;margin-top:.2rem}.pending-email-content{flex:1}.pending-email-content p{margin:0;font-size:.9rem;color:var(--text-main);line-height:1.4}.pending-email-content code{background:var(--bg-neutral);color:var(--text-main);padding:.1rem .3rem;border-radius:4px;font-weight:700}.pending-email-hint{margin-top:.4rem!important;font-size:.8rem!important;opacity:.8}.pending-email-cancel-btn{margin-top:.85rem}.onboarding-address-banner{display:flex;align-items:flex-start;gap:.75rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.onboarding-banner-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.onboarding-banner-text strong{font-size:.95rem;color:#065f46;display:block;margin-bottom:.25rem}.onboarding-banner-text p{margin:0;font-size:.85rem;color:#047857;line-height:1.5}@keyframes address-pulse{0%,to{border-color:#10b981;box-shadow:0 0 0 3px #10b98126}50%{border-color:#059669;box-shadow:0 0 0 6px #10b98140}}.address-onboarding input{border:2px solid #10b981!important;animation:address-pulse 2s ease-in-out infinite}.address-onboarding label{color:#059669!important;font-weight:800!important}.required-badge{background:#dcfce7;color:#059669;font-size:.7rem;font-weight:800;padding:.15rem .5rem;border-radius:99px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.dashboard-page{color:var(--text-main);max-width:100%}.dashboard-content-wrapper{width:100%;padding-top:1rem}.weather-section-inner{display:flex;flex-direction:column;min-width:0;max-width:100%;overflow:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1 span{color:var(--primary-color);font-weight:300;margin-left:.5rem}.campaign-badge{background:var(--primary-glow);color:var(--primary-color);padding:.5rem 1rem;border-radius:20px;font-weight:600;border:1px solid var(--border-accent)}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{font-size:1.15rem;font-weight:700;margin:0}.location-text{font-size:.8rem;color:var(--text-dim)}.weather-section{height:auto}.weather-section.compact{padding-top:.25rem!important}.radar-map-wrapper{position:relative;height:450px;border-radius:16px;overflow:hidden;margin-bottom:1rem;border:1px solid rgba(0,0,0,.05);width:100%;max-width:100%;min-width:0}.radar-map{width:100%;height:100%}.radar-animation-bar{position:absolute;top:1rem;left:1rem;right:1rem;z-index:1000;display:flex;align-items:center;gap:.75rem;background:var(--bg-card)!important;padding:.5rem .75rem;border-radius:12px;box-shadow:var(--card-shadow)!important;border:1px solid var(--border-subtle)}.radar-top-controls{display:contents}.play-btn{background:var(--primary-color)!important;color:#fff!important;border:none!important;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:.75rem;flex-shrink:0}@media (hover: hover){.play-btn:hover{background:var(--brand-forest)!important;transform:scale(1.1)}}.play-btn:active{transform:scale(.9)}.timeline-container{flex:1;display:flex;align-items:center;gap:.75rem;background:var(--bg-main);padding:.25rem .75rem;border-radius:12px;min-width:0}.timeline-slider{flex:1;accent-color:#10b981!important;cursor:pointer;height:4px}.timeline-label{font-family:"monospace";font-weight:700;font-size:.75rem;color:var(--text-main);white-space:nowrap;min-width:85px}.radar-controls{display:flex;gap:.25rem;background:var(--bg-neutral);padding:.2rem;border-radius:8px;flex-shrink:0}.radar-controls button{border:none!important;background:transparent!important;padding:.35rem .6rem;border-radius:6px;font-weight:700;color:var(--text-muted);cursor:pointer;transition:all .2s;font-size:.7rem;white-space:nowrap}.radar-controls button.active{background:var(--text-main)!important;color:var(--bg-card)!important}.section-header.no-title{margin-bottom:.5rem;justify-content:flex-end}.hourly-forecast{display:flex!important;flex-direction:row!important;gap:1.5rem;overflow-x:auto;overflow-y:hidden;padding:1.25rem 1rem;background:var(--bg-card);margin-bottom:2rem;border-radius:16px;border:1px solid var(--border-subtle);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;min-width:0}.hourly-forecast::-webkit-scrollbar{height:6px}.hourly-forecast::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.hourly-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:0 0 auto;min-width:60px}.hour-time{font-size:.75rem;font-weight:700;color:var(--text-muted)}.hour-temp{font-size:.85rem;font-weight:600;color:var(--text-main)}.mini-icon{width:32px;height:32px}.weather-forecast{display:flex!important;flex-direction:row!important;gap:1.5rem;overflow-x:auto;overflow-y:hidden;padding:1.25rem .5rem;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-wrap:nowrap;min-width:0}.weather-forecast::-webkit-scrollbar{height:6px}.weather-forecast::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.forecast-day{flex:0 0 160px;display:flex;flex-direction:column;align-items:center;gap:.75rem;background:var(--bg-page);padding:1.5rem;border-radius:16px;border:1px solid var(--border-subtle);transition:transform .2s,border-color .2s}@media (hover: hover){.forecast-day:hover{transform:translateY(-3px);border-color:var(--primary-color)}}.forecast-day:active{transform:scale(.98);background:#10b9810d}.forecast-day.selected{border-color:var(--primary-color);background:var(--primary-glow);box-shadow:0 4px 15px #10b98126;transform:scale(1.05);z-index:10}.forecast-day span{font-size:.95rem;font-weight:700;color:var(--text-muted)}.forecast-day img{width:48px;height:48px}.day-temp{color:var(--text-main)!important;font-size:1rem!important}.day-pop{font-size:.75rem;font-weight:700;color:#3b82f6;margin-top:.25rem}.precision-summary{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.precision-badge{flex:1;min-width:160px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;cursor:default}.precision-badge.warning{border-color:#ef444433;background:#ef44440d}.badge-icon{font-size:1.25rem}.badge-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.badge-value{font-size:1rem;font-weight:800;color:var(--text-main)}.hourly-pop{font-size:.65rem;font-weight:700;color:var(--edu-color);margin-top:.2rem}.hourly-wind{font-size:.65rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:.15rem}.wind-icon{display:inline-block;font-size:.75rem;transition:transform .3s}.pop-icon{font-size:.6rem}.badge-stack{display:flex;flex-direction:column;flex:1}.precision-badge.highlight{background:var(--primary-glow);border-left:4px solid var(--primary-color)}.badge-value small{font-size:.75rem;color:var(--danger-color);font-weight:600}.farm-marker-dashboard{background:var(--bg-card);border:2px solid var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--card-shadow);width:32px;height:32px}.farm-marker-inner{font-size:18px}.bulk-apply-gear-btn{background:var(--primary-glow);border:1px solid var(--border-accent);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1.1rem}@media (hover: hover){.bulk-apply-gear-btn:hover{background:var(--border-accent)}}.bulk-apply-gear-btn:active{transform:scale(.95)}.bulk-modal{width:100%;max-width:800px;padding:0;overflow:hidden;display:flex;flex-direction:column}.bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.modal-label{display:block;font-weight:700;color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.bulk-market-options{display:flex;flex-direction:column;gap:.5rem}.bulk-market-check{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-page);border-radius:10px;border:1px solid var(--border-subtle);cursor:pointer}.bulk-market-check label{flex:1;display:flex;justify-content:space-between;cursor:pointer}.mkt-name{font-weight:600;color:var(--text-main)}.mkt-price{color:var(--success-color);font-weight:700}.searchable-crop-selector{display:flex;flex-direction:column;gap:1rem}.bulk-search-input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-subtle);font-size:.95rem;background:var(--bg-input);color:var(--text-main)}.filtered-crops-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.crop-select-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .2s}@media (hover: hover){.crop-select-item:hover{border-color:var(--primary-color);background:var(--primary-glow)}}.crop-select-item:active{transform:scale(.98)}.crop-select-item.selected{border-color:var(--primary-color);background:var(--primary-glow);box-shadow:0 0 0 2px var(--primary-glow)}.crop-icon{font-size:1.25rem}.crop-name{font-weight:600;font-size:.9rem;color:var(--text-main)}.bulk-preview{margin-top:2rem;padding:1.5rem;background:var(--primary-glow);border-radius:12px;border:1px solid var(--border-accent)}.preview-header{font-weight:700;color:var(--brand-forest);margin-bottom:.75rem;font-size:.9rem}.preview-line{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--brand-forest);padding:.25rem 0}.preview-line .arrow{color:#86efac}.btn-secondary{padding:.75rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;font-weight:600;color:var(--text-muted);cursor:pointer}.btn-primary{padding:.75rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 850px){.bulk-grid{grid-template-columns:1fr}.bulk-modal{max-width:95vw}}@media (max-width: 1200px){.dashboard-main-grid{grid-template-columns:1fr}}.market-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.market-item-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1rem;box-shadow:var(--card-shadow)}@media (hover: hover){.market-item-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow);border-color:var(--border-accent)}}.market-item-card:active{transform:scale(.98)}.market-card-top{display:flex;justify-content:space-between;align-items:flex-start}.market-info{display:flex;flex-direction:column}.market-name{font-weight:700;color:var(--text-main);font-size:.95rem}.market-symbol{font-size:.75rem;color:var(--text-dim);font-weight:600}.market-price-block{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.price-val{font-size:1.15rem;font-weight:800;color:var(--text-main)}.price-change-pill{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:6px}.price-change-pill.up{background:var(--primary-glow);color:var(--success-color)}.price-change-pill.down{background:#ef444414;color:var(--danger-color)}.market-trend-chart{width:100%;height:40px;opacity:.6}.sparkline-full{display:block}.bulk-apply-gear-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem!important;width:auto!important;font-size:.85rem!important;font-weight:700!important;color:var(--brand-forest)!important}.update-success-msg{color:var(--success-color);font-weight:700;margin-right:auto;font-size:.9rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.market-link-wrapper{text-decoration:none;color:inherit;display:block}.chart-dates{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-dim);font-weight:600;margin-top:-5px;padding:0 2px}.market-sources-footer{margin-top:2rem;padding:1rem;border-top:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted);line-height:1.5}.market-sources-footer a{color:var(--primary-color);text-decoration:none;font-weight:600}.market-sources-footer a:hover{text-decoration:underline}.market-controls{display:flex;gap:.75rem;align-items:center}.market-unit-toggle{background:var(--primary-glow);border:1px solid var(--border-accent);color:var(--primary-color);padding:.3rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}@media (hover: hover){.market-unit-toggle:hover{background:var(--border-accent);transform:translateY(-1px)}}.market-unit-toggle:active{transform:translateY(0) scale(.98)}.market-category-group{margin-bottom:1.5rem}.market-category-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.4rem .75rem;background:var(--bg-main);border-radius:6px;margin-bottom:.75rem}@media (max-width: 1024px){.radar-map-wrapper{height:350px}}@media (max-width: 768px){.radar-map-wrapper{height:320px}.radar-animation-bar{flex-direction:column;align-items:stretch;top:.5rem;left:.5rem;right:.5rem;padding:.75rem;gap:.5rem}.radar-top-controls{display:flex;justify-content:space-between;align-items:center;width:100%}.timeline-container{width:100%;margin-top:.25rem}.radar-controls{flex:1;justify-content:center}.play-btn{width:40px;height:40px}.precision-badge{flex:1 1 calc(50% - 1rem);min-width:140px;padding:.75rem}.hourly-forecast{padding:1rem .5rem;gap:1rem}.hourly-item{min-width:55px}.forecast-day{flex:0 0 130px;padding:1rem .5rem}}@media (max-width: 480px){.radar-map-wrapper{height:280px}.precision-summary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0}.precision-badge{flex:unset;min-width:0;padding:.6rem .75rem;gap:.5rem}.badge-icon{font-size:1rem}.badge-label{font-size:.7rem}.badge-value{font-size:.85rem}.hourly-forecast{gap:.75rem;padding:.75rem .5rem;margin-bottom:.75rem}.hour-time{font-size:.7rem}}@media (max-width: 640px){.weather-section-inner{display:flex;flex-direction:column}.weather-daily-block{order:1}.weather-hourly-block{order:2}.weather-precision-block,.weather-loading-container{order:3}.weather-radar-block{order:4;height:220px;margin-top:.5rem}.weather-daily-block .forecast-day{flex:0 0 90px;padding:.6rem .4rem;font-size:.8rem}.weather-daily-block .forecast-day img{width:36px;height:36px}.weather-daily-block .forecast-day span,.weather-daily-block .day-name,.weather-daily-block .day-temp{font-size:.75rem}.weather-radar-block .radar-animation-bar{top:auto;bottom:.4rem;left:.4rem;right:.4rem;padding:.4rem .6rem;gap:.3rem;font-size:.8rem}.weather-radar-block .play-btn{width:28px;height:28px;font-size:.85rem}.weather-radar-block .radar-controls button{padding:.25rem .5rem;font-size:.75rem}.weather-radar-block .timeline-slider{height:4px}.weather-radar-block .timeline-label{font-size:.7rem}}.mission-banner{margin-bottom:2rem;border:1px solid var(--border-accent);background:var(--primary-glow);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px}.mission-header{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--border-accent);transition:background .2s}.mission-header:hover{background:var(--border-strong)}.mission-title-group{display:flex;align-items:center;gap:.75rem}.mission-icon{font-size:1.4rem}.mission-title{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0}.mission-badge{font-size:.65rem;font-weight:800;background:#10b981;color:#fff;padding:2px 8px;border-radius:6px;letter-spacing:.05em}.mission-toggle-btn{background:var(--bg-card);border:1px solid var(--border-accent);color:var(--brand-forest);font-weight:700;font-size:.8rem;padding:.4rem .8rem;border-radius:8px;cursor:pointer;transition:all .2s}.mission-toggle-btn:hover{background:var(--primary-glow);border-color:var(--primary-color)}.mission-content{padding:0 1.5rem 1.5rem;background:var(--bg-card)}.mission-text-container{padding-top:1.25rem}.mission-text{font-size:1rem;line-height:1.65;color:var(--text-muted);white-space:pre-wrap;margin:0}.mission-steps{display:flex;flex-direction:column;gap:.6rem;padding-top:1.25rem}.mission-step{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--text-muted)}.mission-step.done .step-label{color:var(--text-main);text-decoration:line-through;opacity:.6}.step-icon{font-size:1rem;flex-shrink:0}.edu-banner{border-color:var(--edu-color);background:var(--bg-card)}.edu-banner .mission-header{background:var(--bg-main);border-radius:14px 14px 0 0}.edu-banner .mission-header:hover{background:var(--border-subtle)}.edu-brand-badge{font-size:.65rem;font-weight:900;background:var(--edu-color, #4f46e5);color:#fff;padding:3px 10px;border-radius:6px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.mission-header-right{display:flex;align-items:center;gap:1rem}.mission-progress-mini{display:flex;align-items:center;gap:.5rem}.progress-bar-mini{width:80px;height:6px;background:var(--bg-neutral);border-radius:99px;overflow:hidden}.progress-fill-mini{height:100%;background:var(--edu-color, #4f46e5);border-radius:99px;transition:width .5s ease}.progress-label-mini{font-size:.75rem;font-weight:700;color:var(--edu-color, #4f46e5);white-space:nowrap}.mission-graduation-cta{margin-top:1.25rem;padding:.75rem 1rem;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9rem;font-weight:600;color:var(--text-main)}.edu-cta-link{color:var(--edu-color, #4f46e5);text-decoration:none;font-weight:700;font-size:.85rem;transition:opacity .2s}.edu-cta-link:hover{opacity:.7;text-decoration:underline}@media (max-width: 600px){.mission-progress-mini{display:none}.mission-graduation-cta{flex-direction:column;align-items:flex-start}}.market-widget-inner{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 2px #00000005}.market-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.market-header h4{margin:0;font-size:.95rem;color:var(--text-main);font-weight:700}.market-ticker{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.market-item{background:var(--bg-card);padding:.4rem .75rem;border-radius:8px;border:1px solid var(--border-subtle);font-size:.85rem;display:flex;flex-direction:column;box-shadow:0 1px 2px #00000008;color:var(--text-muted)}.market-item .crop-price{font-weight:700;color:#4ade80}.dashboard-grid{display:flex;gap:2rem;flex:1;min-width:0}.crops-section{flex:1;display:flex;flex-direction:column;min-height:80vh}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.chart-container{height:300px;position:relative;background:var(--bg-card);border-radius:16px;padding:1.5rem;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow)}.chart-container h3{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.chart-box{background:var(--bg-card);border-radius:16px;padding:1.5rem;height:240px;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow)}.chart-label{font-size:.8rem;color:var(--text-muted);margin-top:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.weather-loading-container{display:flex;justify-content:center;align-items:center;min-height:300px;width:100%}.weather-error{text-align:center;padding:2rem;background:#ef44440d;border-radius:16px;border:1px solid rgba(239,68,68,.2);color:#b91c1c}.error-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.btn-retry{margin-top:1rem;padding:.5rem 1.5rem;background:#b91c1c;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.loading-spinner{width:40px;height:40px;border:4px solid rgba(16,185,129,.1);border-left-color:#10b981;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.weather-mini-widget{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border:1px solid var(--border-subtle);padding:.35rem 1rem;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-left:auto;margin-right:1.5rem;box-shadow:var(--card-shadow-sm)}@media (hover: hover){.weather-mini-widget:hover{background:var(--primary-glow);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px #10b9811a}}.weather-mini-widget:active{transform:translateY(0) scale(.98)}.weather-mini-icon{width:28px;height:28px;object-fit:contain}.weather-mini-temp{font-weight:800;font-size:1.05rem;color:var(--text-main);letter-spacing:-.01em}.weather-mini-city{font-size:.75rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.weather-mini-city{display:none}.weather-mini-widget{margin-right:.5rem;padding:.35rem .75rem}}.dashboard-map-card{padding:1.25rem;margin-bottom:1.5rem}.assolement-map-wrapper{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.2)}.assolement-map{height:400px;width:100%;border-radius:12px}.assolement-map-user-btn{position:absolute;top:10px;right:10px;z-index:1001;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);padding:.45rem .7rem;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.assolement-map-user-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0f172a26}.assolement-map-user-btn:disabled{opacity:.7;cursor:wait}.assolement-map-hint{position:absolute;bottom:10px;right:10px;background:var(--glass-bg);padding:4px 10px;border-radius:8px;font-size:.75rem;color:var(--text-muted);border:1px solid var(--border-subtle);pointer-events:none;z-index:1000;display:flex;align-items:center;gap:6px;box-shadow:var(--card-shadow)}.assolement-map-hint--touch{display:none}.assolement-map-location-info{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:.75rem 1rem;background:var(--glass-bg);border-radius:12px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.farm-marker-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.farm-marker-icon{width:40px;height:40px;background:var(--primary-color);border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.farm-marker-inner{transform:rotate(45deg);font-size:1.2rem;line-height:1}.farm-marker-pulse{position:absolute;width:20px;height:20px;background:var(--primary-color);border-radius:50%;opacity:.6;z-index:-1;animation:marker-pulse 2s infinite}@keyframes marker-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(3.5);opacity:0}}.farm-marker-shadow{width:14px;height:4px;background:#0003;border-radius:50%;margin-top:2px;filter:blur(1px)}@media (max-width: 768px){.assolement-map{height:250px}.assolement-map-user-btn{top:8px;right:8px;padding:.4rem .6rem;font-size:.75rem}.assolement-map-hint--desktop{display:none}.assolement-map-hint--touch{display:flex}.assolement-map-location-info{flex-direction:column;align-items:flex-start;gap:.5rem}.location-info-item:not(:last-child){border-right:none;padding-right:0}}.assolement-map-weather-toggle-btn{position:absolute;top:52px;right:10px;z-index:1001;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);padding:.45rem .7rem;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.assolement-map-weather-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a26}.map-weather-hidden .assolement-map-weather-toggle-btn{opacity:.6}.map-weather-hidden .weather-map-label{display:none!important}.weather-map-label{background:#ffffffe6!important;border:1px solid var(--border-subtle)!important;border-radius:6px!important;box-shadow:0 2px 4px #0000001a!important;padding:2px 6px!important;font-size:.7rem!important;font-weight:800!important;color:var(--text-main)!important;white-space:nowrap!important;pointer-events:none!important}.weather-map-label:before{display:none!important}.map-layer-control{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:4px;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:5px 8px;box-shadow:0 2px 8px #0006}.map-layer-btn{background:transparent;border:none;color:#cbd5e1;font-size:.78rem;font-weight:500;padding:4px 10px;border-radius:14px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.map-layer-btn:hover{background:#ffffff1f;color:#fff}.map-layer-btn.active{background:#fff3;color:#fff}.map-layer-btn:disabled{opacity:.5;cursor:default}.map-layer-sep{width:1px;height:18px;background:#fff3;margin:0 2px}.map-layer-overlay-btn{font-size:1rem;padding:2px 6px}.map-layer-legend{position:absolute;bottom:32px;left:10px;z-index:1000;display:flex;align-items:center;gap:8px;background:#0f172acc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:4px 10px;font-size:.7rem;color:#e2e8f0}.mll-item{display:flex;align-items:center;gap:4px}.mll-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.mll-hint{color:#94a3b8;font-style:italic;margin-left:4px}.map-weather-tooltip{display:flex;gap:6px;align-items:center}.map-weather-tooltip span{display:flex;align-items:center;gap:2px}.assolement-map .leaflet-interactive{cursor:pointer!important}.history-view-toggle,.calendar-sub-toggle{display:flex;background:var(--bg-main);padding:4px;border-radius:10px;gap:2px}.history-view-toggle button,.calendar-sub-toggle button{border:none;background:transparent;padding:.4rem .9rem;border-radius:7px;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem}.history-view-toggle button.active,.calendar-sub-toggle button.active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 2px 6px #00000014}.teacher-review-inline{margin-top:1.25rem;padding-top:1.25rem}.teacher-review-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #6b7280)}.teacher-review-divider:before,.teacher-review-divider:after{content:"";flex:1;height:1px;background:var(--border, #e5e7eb)}.student-report-readonly{background:var(--bg, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:.5rem;padding:.9rem 1rem;font-size:.9rem;line-height:1.7;max-height:360px;overflow-y:auto;margin-bottom:.4rem}.student-report-readonly h2{font-size:1.1rem;font-weight:700;margin:.6rem 0 .2rem}.student-report-readonly h3{font-size:1rem;font-weight:600;margin:.5rem 0 .15rem}.student-report-readonly ul,.student-report-readonly ol{padding-left:1.4rem;margin:.3rem 0}.student-report-readonly p{margin:.25rem 0}.no-report-text{color:var(--text-muted, #9ca3af);font-style:italic;font-size:.9rem;margin-bottom:.75rem}.report-submitted-date{font-size:.8rem;color:var(--text-muted, #6b7280);margin-bottom:.75rem}.review-validate-row{margin-bottom:.75rem}.btn-validate-inline{padding:.45rem 1.2rem;border-radius:2rem;border:2px solid var(--border, #d1d5db);background:transparent;color:var(--text, #374151);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-validate-inline:hover{border-color:#16a34a;color:#16a34a}.btn-validate-inline.validated{background:#16a34a;border-color:#16a34a;color:#fff}.review-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted, #6b7280);margin-bottom:.35rem}.review-comment-area{width:100%;border:1px solid var(--border, #d1d5db);border-radius:.5rem;padding:.65rem .8rem;font-size:.9rem;font-family:inherit;resize:vertical;background:var(--bg-input, #fff);color:var(--text, #111);box-sizing:border-box;transition:border-color .15s;margin-bottom:.75rem}.review-comment-area:focus{outline:none;border-color:var(--primary-color, #2d6a4f)}.review-save-row{display:flex;align-items:center;gap:.75rem}.btn-save-review{padding:.5rem 1.4rem;background:var(--primary-color, #2d6a4f);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-save-review:hover:not(:disabled){background:var(--primary-dark, #1b4332)}.btn-save-review:disabled{opacity:.6;cursor:not-allowed}.review-feedback{font-size:.85rem;color:#16a34a;font-weight:500}.review-feedback.error{color:#dc2626}.oad-alerts-banner{margin-bottom:1.25rem;border:1px solid #fde68a;border-radius:12px;overflow:hidden}.oad-alerts-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#fef9c3;border-bottom:1px solid #fde68a}.oad-alerts-title{font-size:.82rem;font-weight:700;color:#854d0e}.oad-alerts-refresh{background:none;border:none;font-size:1rem;cursor:pointer;color:#854d0e;opacity:.7;padding:0 .25rem}.oad-alerts-refresh:hover{opacity:1}.oad-alerts-refresh:disabled{opacity:.4;cursor:not-allowed}.oad-alerts-list{display:flex;flex-direction:column}.oad-alert-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-top:1px solid #fef3c7}.oad-alert-card--critical{background:#fef2f2;border-top-color:#fca5a5}.oad-alert-card--warning{background:#fffbeb}.oad-alert-card--info{background:#f0fdf4;border-top-color:#86efac}.oad-alert-icon{font-size:1.4rem;flex-shrink:0;padding-top:1px}.oad-alert-body{display:flex;flex-direction:column;gap:2px}.oad-alert-title{font-size:.88rem;font-weight:700;color:var(--text-main)}.oad-alert-msg{font-size:.82rem;color:var(--text-muted);line-height:1.4}.oad-alert-action{font-size:.76rem;color:var(--text-dim);font-style:italic;margin-top:2px}.btn-locked{opacity:.6;cursor:pointer!important}.crops-section-header{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.crops-title-row{display:flex;align-items:center;justify-content:space-between;width:100%}.crop-name-inner{display:flex;align-items:center;gap:.5rem}.crops-title-left{display:flex;align-items:center;gap:1rem}.crops-surface-badge{background:var(--primary-glow);padding:4px 12px;border-radius:20px;border:1px solid var(--border-accent);font-size:.85rem;color:var(--brand-forest)}.crops-surface-label{font-weight:600;opacity:.7}.crops-surface-used{font-weight:800}.crops-surface-sep{opacity:.4;font-weight:400}.crops-surface-total{font-weight:700}.crops-surface-unit{font-weight:600}.assolement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.assolement-view-toggle{display:flex;background:var(--bg-main);padding:4px;border-radius:10px;border:1px solid var(--border-subtle)}.toolbar-toggle-btn{padding:6px 14px;border-radius:7px;border:none;font-size:.8rem;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-muted);font-weight:600}.toolbar-toggle-btn.active{background:var(--bg-card);color:var(--text-main);font-weight:700;box-shadow:var(--card-shadow)}.toolbar-right{display:flex;align-items:center;gap:.75rem}.toolbar-btn-small{padding:7px 12px;font-size:.8rem;height:auto;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted)}.toolbar-btn-small:hover{background:var(--bg-page);color:var(--text-main)}.assolement-add-desktop{background:var(--primary-color)!important;box-shadow:0 4px 12px var(--primary-glow)!important}.assolement-add-desktop:hover{background:var(--primary-dark)!important}.rotation-controls{display:flex;gap:.5rem;align-items:center;padding-right:.75rem;border-right:1px solid var(--border-subtle)}.crop-group-header{background:var(--primary-glow);padding:8px 12px;border-radius:8px;margin-bottom:12px;border:1px solid var(--border-accent);font-weight:700;color:var(--brand-forest);display:flex;justify-content:space-between}.crop-group-title{display:flex;align-items:center;gap:8px}.crop-group-icon{font-size:1.2rem;line-height:1}.assolement-tool-tab{padding:1.5rem 0;display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.assolement-tool-hero{display:flex;align-items:flex-start;gap:1.25rem;background:var(--primary-glow);border:1px solid var(--border-accent);border-radius:14px;padding:1.25rem 1.5rem;width:100%;box-sizing:border-box}.assolement-tool-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.assolement-tool-info{display:flex;flex-direction:column;gap:.4rem}.assolement-tool-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-main)}.assolement-tool-desc{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.5}.rotation-rules-panel{width:100%;box-sizing:border-box}.rotation-rules-title{font-size:.95rem;font-weight:700;color:var(--text-main);margin:0 0 1rem}.rotation-accordion{display:flex;flex-direction:column;width:100%;border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.rotation-accordion-item{border-bottom:1px solid var(--border-light);background:var(--bg-card)}.rotation-accordion-item:last-child{border-bottom:none}.rotation-accordion-item--highlight,.rotation-accordion-item--positive{background:var(--bg-card)}.rotation-accordion-header{width:100%;display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.825rem;font-weight:600;color:var(--text-main);text-align:left}.rotation-accordion-header:hover{background:var(--bg-main)}.rotation-accordion-count{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--text-muted)}.rotation-accordion-chevron{font-size:.7rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.rotation-accordion-chevron.open{transform:rotate(180deg)}.rotation-accordion-body{padding:0 1rem .75rem;border-top:1px solid var(--border-light)}.rotation-rules-card-icon{font-size:.9rem}.rotation-rules-nsaving{font-weight:600;color:var(--text-main);white-space:nowrap}.rotation-rules-table{width:100%;border-collapse:collapse;font-size:.8rem}.rotation-rules-table th{text-align:center;padding:4px 6px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border-light)}.rotation-rules-table th:first-child{text-align:left}.rotation-rules-table th:last-child{text-align:right}.rotation-rules-table td{padding:5px 6px;color:var(--text-main);border-bottom:1px solid var(--border-lighter, #f1f5f9);vertical-align:top;text-align:center}.rotation-rules-table td:first-child{text-align:left}.rotation-rules-table td:last-child{text-align:right}.rotation-rules-table tr:last-child td{border-bottom:none}.rotation-rules-years{font-weight:700;color:var(--primary-color);white-space:nowrap}.rotation-rules-reason{color:var(--text-muted);font-size:.75rem}.rotation-rules-single-rule{font-size:.85rem;color:var(--text-main);margin:0;line-height:1.5}.assolement-modal-title{margin:0 0 1.5rem;color:var(--text-main);font-size:1.5rem}.assolement-form-field{margin-bottom:1rem}.assolement-form-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.4rem}.assolement-form-input,.assolement-form-select{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);font-size:.95rem;background:var(--bg-input);box-sizing:border-box}.assolement-form-row{display:flex;gap:1rem;margin-bottom:1.5rem}.assolement-form-col{flex:1}.assolement-form-actions{display:flex;gap:1rem;justify-content:flex-end}.assolement-table-scroll{overflow-x:auto;flex:1;border:1px solid var(--border-subtle);border-radius:8px}.assolement-table{width:100%;border-collapse:collapse;min-width:600px;text-align:left;font-size:.9rem}.assolement-table thead tr{background:var(--bg-page)}.assolement-table th{padding:12px;border-bottom:1px solid var(--border-subtle);font-weight:600;color:var(--text-muted)}.assolement-table th.sticky-col{position:sticky;left:0;background:var(--bg-page);z-index:10;border-right:1px solid var(--border-subtle)}.assolement-table td{padding:0;border:1px solid var(--bg-main)}.assolement-table td.sticky-col{padding:10px 12px;position:sticky;left:0;background:var(--bg-card);border-right:1px solid var(--border-subtle);font-weight:600;color:var(--text-main)}.assolement-table tr{border-bottom:1px solid var(--border-subtle)}.assolement-table-cell-filled{padding:10px 12px;height:100%;min-height:40px;box-sizing:border-box;color:var(--text-main)}.assolement-table-cell-empty{padding:10px 12px;color:var(--text-dim);text-align:center}.assolement-distribution-layout{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap}.assolement-chart-wrapper{flex:0 0 320px;min-height:320px;display:flex;justify-content:center;align-items:center}.assolement-chart-canvas{max-width:100%;max-height:320px}.assolement-distribution-legend{flex:1;min-width:240px;display:flex;flex-direction:column;gap:.45rem}.assolement-distribution-title{color:var(--text-main);font-size:1rem;font-weight:600;margin-bottom:1.25rem}.dist-legend-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color, rgba(148,163,184,.15));font-size:.85rem}.dist-legend-color{flex-shrink:0;width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.dist-legend-icon{flex-shrink:0;width:22px;text-align:center;font-size:1rem;line-height:1}.dist-legend-img{width:20px;height:20px;object-fit:contain}.dist-legend-name{flex:1;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dist-legend-area{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.dist-legend-pct{font-weight:700;font-size:.82rem;color:var(--text-main);min-width:3.5rem;text-align:right}@media (max-width: 600px){.assolement-distribution-layout{flex-direction:column}.assolement-chart-wrapper{flex:none;width:100%}}.assolement-empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.assolement-table-empty{text-align:center;padding:2rem;color:var(--text-dim)}.btn-load-defaults{background:var(--primary-glow);color:var(--brand-forest);border:1px dashed var(--border-accent);padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;margin-left:auto}.btn-load-defaults:hover{background:var(--primary-glow);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.rotation-step{display:flex;flex-direction:column;gap:4px}.rotation-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.rotation-chip{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--text-main);box-shadow:var(--card-shadow)}.rotation-chip--active{background:var(--info-bg);border-color:var(--info-border);color:var(--info-color);box-shadow:0 0 0 2px #3b82f61a}.rotation-chip--empty{background:var(--bg-page);border-style:dashed}.rotation-icon{font-size:1.1rem}.rotation-arrow{font-size:1.25rem;color:var(--border-strong);font-weight:400;margin-top:12px}.location-info-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-main)}.location-info-item:not(:last-child){padding-right:1.5rem;border-right:1px solid var(--border-subtle)}.location-info-icon{font-size:1.1rem;opacity:.8}.location-info-value{line-height:1}.assolement-fab{display:none}@media (max-width: 768px){.assolement-toolbar,.toolbar-right{flex-direction:column;align-items:stretch}.rotation-controls{display:grid;grid-template-columns:1fr 1fr 1fr;border-right:none;padding-right:0;margin-right:0;gap:.5rem}.rotation-controls button{padding:0 8px!important;font-size:.75rem!important;text-align:center;white-space:normal;line-height:1.2}.assolement-add-desktop{display:none}.assolement-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:2rem;font-weight:300;cursor:pointer;box-shadow:0 4px 16px var(--primary-glow);z-index:500;transition:transform .2s ease,box-shadow .2s ease;line-height:1}.assolement-fab:active{transform:scale(.92);box-shadow:0 2px 8px #10b9814d}.assolement-fab.btn-locked{background:var(--text-dim);box-shadow:0 4px 16px #0000001f}.location-info-item:not(:last-child){border-right:none;padding-right:0}.crops-section-header{gap:1rem}.crops-title-row{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width: 480px){.assolement-modal-box{padding:1.25rem}}@media (max-width: 768px){.app-view{padding-bottom:5rem}}.assolement-interactive-table-view{display:flex;gap:1.5rem;height:calc(100vh - 250px);min-height:500px;margin-top:1rem}.assolement-sidebar{width:260px;display:flex;flex-direction:column;gap:1rem;background:var(--glass-bg);border-radius:12px;border:1px solid var(--glass-border);padding:1rem;box-shadow:var(--card-shadow)}.sidebar-title{font-size:.9rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem;display:flex;align-items:center;gap:8px}.draggable-crops-list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;overflow-y:auto;padding-right:4px}.soil-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:auto}.soil-dot--good{background-color:#22c55e}.soil-dot--warning{background-color:var(--warning-color)}.soil-dot--poor{background-color:var(--danger-color)}.draggable-crop-item{display:flex;align-items:center;gap:6px;background:var(--bg-card);padding:10px 8px;min-height:44px;border-radius:8px;border:1px solid var(--border-subtle);cursor:grab;font-size:.78rem;font-weight:600;color:var(--text-muted);transition:all .2s;overflow:hidden;touch-action:none}.draggable-crop-item .crop-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.draggable-crop-item:hover{border-color:var(--primary-color);background:var(--primary-glow)}.draggable-crop-item.interculture-source{background:var(--primary-glow);border:1px dashed var(--success-color);color:var(--brand-forest)}.draggable-crop-item.interculture-source:hover{background:#dcfce7;border-style:solid}.btn-reset-rotation{width:100%;padding:10px 12px;background:var(--danger-bg);border:1px dashed var(--danger-border);color:var(--danger-color);border-radius:12px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-reset-rotation:hover{background:#ef444426;border-color:var(--danger-color);border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px #b91c1c1a}.assolement-table-container{flex:1;overflow:auto;border-radius:12px;border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:var(--card-shadow)}.interactive-table{width:100%;border-collapse:separate;border-spacing:0}.interactive-table th{position:sticky;top:0;z-index:20;background:var(--bg-page);padding:12px 16px;font-size:.8rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;border-bottom:2px solid var(--border-subtle)}.interactive-table th.sticky-col,.interactive-table td.sticky-col{position:sticky;left:0;z-index:21}.interactive-table td.sticky-col{background:var(--bg-card);border-right:2px solid var(--border-subtle);padding:12px 16px;font-weight:700;color:var(--text-main);font-size:.9rem}.interactive-table td{border-bottom:1px solid var(--bg-main);border-right:1px solid var(--bg-main);padding:4px;vertical-align:top;min-width:140px;height:60px;transition:background-color .15s ease}.interactive-table tbody tr:hover td{background-color:var(--bg-main)}.interactive-table tbody tr:hover td.sticky-col{background-color:var(--bg-page)}.interactive-cell-dropzone{height:100%;min-height:64px;border-radius:8px;transition:background .2s;display:flex;flex-direction:column;gap:4px}.interactive-cell-dropzone.drag-over{background:#10b9811a;outline:2px dashed var(--primary-color)}.cell-crop-tag{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 6px;display:flex;flex-direction:column;gap:2px;position:relative;box-shadow:0 1px 3px #00000008}.cell-crop-header{display:flex;justify-content:space-between;align-items:center}.cell-crop-name{font-weight:700;font-size:.85rem;color:var(--text-main);display:flex;align-items:center;gap:4px}.cell-crop-area{font-size:.75rem;color:var(--text-muted);background:var(--bg-main);padding:2px 6px;border-radius:4px}.cell-crop-actions{display:flex;gap:8px;margin-top:6px;opacity:.9;transition:opacity .2s}.cell-crop-tag:hover .cell-crop-actions{opacity:1}.action-icon-btn{background:none;border:none;cursor:pointer;padding:2px;font-size:.9rem;border-radius:4px;transition:background .2s}.action-icon-btn:hover{background:var(--bg-main)}.rotation-alert-icon{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;border:2px solid white;cursor:help;z-index:10}.rotation-alert-icon.warning{background:#f59e0b}.rotation-alert-icon.positive{background:#10b981}.rotation-alert-icon.info{background:#3b82f6}.alert-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-main);color:#fff;padding:8px 12px;border-radius:8px;font-size:.75rem;width:200px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:100;margin-bottom:8px;box-shadow:0 4px 12px #0003}.rotation-alert-icon:hover+.alert-tooltip{opacity:1;pointer-events:auto}.ghost-crop{opacity:.5;background:var(--primary-color)!important}.split-modal-content{display:flex;flex-direction:column;gap:1.5rem}.split-range-container{display:flex;flex-direction:column;gap:.5rem}.split-preview{display:flex;justify-content:space-between;background:var(--bg-page);padding:1rem;border-radius:12px}.split-part{display:flex;flex-direction:column;align-items:center;gap:4px}.split-part-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.split-part-value{font-size:1.2rem;font-weight:800;color:var(--primary-color)}.campaign-header-cell{background:var(--bg-page);padding:8px!important;vertical-align:top;border-bottom:2px solid var(--border-subtle)}.campaign-header-content{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.drag-handle:hover{opacity:1!important;color:var(--primary-color)}.year-badge{background:var(--info-bg);color:var(--info-color);padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:800;border:1px solid var(--info-border)}.campaign-title{font-size:.7rem;color:var(--text-muted);font-weight:500;max-width:120px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-actions{display:flex;gap:4px;margin-top:4px}.campaign-actions .clear-campaign-btn,.campaign-actions .lock-toggle-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .2s;color:var(--text-dim)}.campaign-actions .clear-campaign-btn:hover{background:#ef44441a;color:var(--danger-color)}.campaign-actions .lock-toggle-btn.is-locked{color:var(--warning-color)}.campaign-actions .lock-toggle-btn:hover:not(.is-locked){background:var(--bg-main);color:var(--text-main)}.add-campaign-btn{width:32px;height:32px;border-radius:50%;background:var(--bg-card);border:2px dashed var(--border-strong);color:var(--text-dim);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-campaign-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-glow)}.crop-img-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle;border-radius:4px;margin-right:4px}.bio-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:10px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:0 4px;margin-left:4px}.bio-tab{display:flex;flex-direction:column;gap:1.5rem;padding-top:1rem}.bio-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;padding:1.25rem 1.5rem}.bio-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.bio-section-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-main)}.bio-certif-card{display:flex;flex-direction:column;gap:.75rem}.bio-certif-statut{display:inline-block;padding:.3rem .85rem;border-radius:20px;font-size:.85rem;font-weight:700;width:fit-content}.bio-statut--en_conversion_1,.bio-statut--en_conversion_2,.bio-statut--en_conversion_3{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.bio-statut--ab_certifie{background:#dcfce7;color:#166534;border:1px solid #86efac}.bio-certif-details{display:flex;flex-wrap:wrap;gap:.75rem 2rem;font-size:.85rem;color:var(--text-muted)}.bio-certif-timeline{display:flex;gap:0;align-items:center;margin-top:.5rem}.bio-timeline-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;position:relative;font-size:.72rem;color:var(--text-dim)}.bio-timeline-step:not(:last-child):after{content:"";position:absolute;top:7px;left:50%;width:100%;height:2px;background:var(--border-subtle);z-index:0}.bio-timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--border-subtle);border:2px solid var(--border-subtle);z-index:1}.bio-timeline-step.done .bio-timeline-dot{background:#86efac;border-color:#16a34a}.bio-timeline-step.active .bio-timeline-dot{background:#16a34a;border-color:#15803d}.bio-timeline-step.active{color:#16a34a;font-weight:700}.bio-ok-banner{padding:.85rem 1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;color:#166534;font-size:.88rem;font-weight:600}.bio-violation-card{border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.bio-violation-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.bio-violation-field{font-weight:700;font-size:.9rem}.bio-violation-crop{font-size:.8rem;color:var(--text-muted)}.bio-alert{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem 1rem}.bio-alert+.bio-alert{border-top:1px solid var(--border-subtle)}.bio-alert--critical{background:#fef2f2}.bio-alert--warning{background:#fffbeb}.bio-alert-icon{font-size:1rem;flex-shrink:0;padding-top:1px}.bio-alert-msg{margin:0;font-size:.85rem;font-weight:600;color:var(--text-main)}.bio-alert-detail{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted)}.bio-field-selector{margin-bottom:1rem}.bio-planches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;margin-bottom:1rem}.bio-planche-card{border:1px solid var(--border-subtle);border-radius:10px;padding:.85rem 1rem;background:var(--bg-page)}.bio-planche-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.bio-planche-surface{font-size:.75rem;color:var(--text-muted);background:var(--glass-bg);border-radius:10px;padding:.1rem .5rem}.bio-planche-meta{font-size:.78rem;color:var(--text-muted);margin-bottom:.5rem}.bio-planche-history{display:flex;flex-direction:column;gap:.3rem}.bio-planche-hist-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;flex-wrap:wrap}.bio-planche-hist-crop{font-weight:600}.bio-planche-hist-variety{color:var(--text-muted);font-style:italic}.bio-planche-hist-date{color:var(--text-muted);font-size:.73rem}.bio-certif-form{margin-top:1rem;padding:1rem 1.25rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px}.bio-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;margin-bottom:1rem}.bio-form-label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--text-muted);font-weight:600}.bio-form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.bio-empty-state{text-align:center;padding:1.5rem;color:var(--text-dim);font-size:.88rem}.btn-icon--danger{color:var(--danger-color, #ef4444)}.btn-link{background:none;border:none;color:var(--primary-color, #16a34a);cursor:pointer;font-size:.8rem;padding:.2rem 0;text-decoration:underline}.bio-section-actions{display:flex;gap:.5rem}.bio-surface-indicator{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--text-muted);margin-top:.5rem}.bio-surface-value{color:var(--text-main);font-weight:600}.bio-surface-value--overflow{color:#ef4444;font-weight:700}.bio-surface-overflow{color:#ef4444;font-weight:600}.bio-surface-sep{color:var(--text-dim)}.bio-legende{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}.bio-legende-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-muted)}.bio-legende-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.bio-grille{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.bio-rang{display:flex;align-items:flex-start;gap:.4rem}.bio-rang-label{width:24px;min-width:24px;text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);padding-top:6px}.bio-rang-cells{display:flex;flex-wrap:wrap;gap:.3rem}.bio-cell{width:72px;min-height:52px;border-radius:6px;border:2px solid transparent;padding:.3rem .4rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;transition:transform .1s,box-shadow .1s;position:relative}.bio-cell:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000001f}.bio-cell--selected{border-color:#1d4ed8!important;box-shadow:0 0 0 2px #bfdbfe}.bio-cell-name{font-size:.7rem;font-weight:700;color:#00000080}.bio-cell-crop{font-size:.62rem;color:#000000a6;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bio-cell-warning{position:absolute;top:2px;right:3px;font-size:.65rem;color:#d97706}.bio-planche-detail{background:var(--bg-page);border:1px solid #1d4ed8;border-radius:10px;padding:.85rem 1rem;margin-top:.75rem}.bio-planche-detail-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem;flex-wrap:wrap}.bio-hist-famille-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bio-batch-form{border-left:3px solid var(--primary-color, #16a34a)}.bio-batch-header{margin-bottom:1rem}.bio-batch-header h4{margin:0 0 .3rem}.bio-batch-preview{font-size:.78rem;color:var(--primary-color, #16a34a);font-weight:600;margin:0;font-family:monospace}.bio-batch-surface-info{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem;padding:.4rem .75rem;background:#f0fdf4;border-radius:6px}.rotation-violations-panel{margin-bottom:1rem;border:1px solid #fde68a;border-radius:10px;overflow:hidden}.rotation-violations-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;background:#fef9c3;font-size:.82rem;font-weight:700;color:#854d0e;border-bottom:1px solid #fde68a}.rotation-violation-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.5rem .85rem;border-top:1px solid #fef08a;font-size:.82rem}.rotation-violation-crop{color:var(--text-muted);font-style:italic}.rotation-violation-badge{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:10px}.badge--critical{background:#fee2e2;color:#991b1b}.badge--warning{background:#fef3c7;color:#92400e}.margins-table-wrap{margin-bottom:1.5rem;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.margins-table{width:100%;border-collapse:collapse;font-size:.85rem}.margins-table th{background:var(--bg-page);padding:.6rem .85rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.margins-table th.num,.margins-table td.num{text-align:right}.margins-table td{padding:.55rem .85rem;border-bottom:1px solid var(--border-subtle);color:var(--text-main)}.margins-table tbody tr:last-child td{border-bottom:none}.margins-table tfoot td{padding:.6rem .85rem;background:var(--bg-page);border-top:2px solid var(--border-subtle)}.margins-table .row--positive{background:#f0fdf4}.margins-table .row--negative{background:#fef2f2}.margin-chip{display:inline-block;padding:.2rem .6rem;border-radius:10px;font-weight:700;font-size:.82rem}.chip--good{background:#dcfce7;color:#15803d}.chip--ok{background:#fef9c3;color:#854d0e}.chip--bad{background:#fee2e2;color:#991b1b}.text-success{color:var(--success-color, #16a34a)}.text-danger{color:var(--danger-color, #ef4444)}.margin-map-card{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.margin-map-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.65rem 1rem;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.margin-map-title{font-size:.82rem;font-weight:700;color:var(--text-main)}.margin-map-legend{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.margin-map-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.margin-map{height:320px;z-index:0}.assolement-margin-map-wrap{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.assolement-margin-map-legend{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;padding:.55rem 1rem;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.margin-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.margin-legend-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}.margin-legend-hint{font-size:.68rem;color:var(--text-dim);font-style:italic;margin-left:auto}.assolement-margin-map{height:520px;z-index:0}.assol-label-tooltip{background:none!important;border:none!important;box-shadow:none!important;padding:0!important}.assol-label-tooltip:before{display:none!important}.assol-field-label{display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 6px rgba(0,0,0,.4);transform:translate(-50%,-50%)}.assol-field-name{font-size:.8rem;font-weight:800;color:#fff;white-space:nowrap}.assol-field-crop{font-size:.68rem;color:#ffffffe6;white-space:nowrap}.assol-field-margin{font-size:.82rem;font-weight:900;white-space:nowrap;padding:1px 5px;border-radius:4px;background:#00000059}.assol-margin--pos{color:#bbf7d0}.assol-margin--neg{color:#fca5a5}.assol-margin--empty{color:#ffffff8c}.assol-field-fermage{font-size:.6rem;color:#fff9}.agro-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.agro-section-header h2{margin:0}.agro-plot-selector{margin-bottom:2rem;max-width:400px}.agro-content-grid{display:grid;grid-template-columns:1fr;gap:2rem}.agro-top-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.agro-params-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1.5rem}.agro-params-card h4{margin:0 0 1rem;font-size:1rem;color:var(--text-main)}.agro-params-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.agro-params-hint{font-size:.7rem;color:var(--text-dim);margin-top:1rem;line-height:1.4}.agro-kpi-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.agro-kpi-card:hover{box-shadow:0 4px 16px #10b98126;transform:translateY(-2px)}.agro-kpi-card h4{margin:0 0 1rem;font-size:1rem;color:var(--text-main)}.agro-kpi-value{font-size:2rem;font-weight:800;color:#10b981}.agro-kpi-unit{font-size:1rem;font-weight:600;color:var(--text-muted)}.agro-kpi-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.agro-chart-wrapper{height:350px;margin-bottom:2rem;position:relative}.agro-chart-label{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.agro-section-block{margin-top:3rem}.agro-section-block+.agro-section-block{margin-top:2rem}.agro-block-title{font-size:1.1rem;margin-bottom:1rem;color:var(--text-main)}.agro-no-analysis-alert{padding:1.5rem;background:#fffbeb;border:1px solid #fde68a;border-radius:12px}.agro-no-analysis-title{font-size:.9rem;color:#92400e;font-weight:700;margin:0 0 1rem}.agro-no-analysis-desc{font-size:.8rem;color:#78350f;margin:0 0 1.25rem}.agro-base-values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.agro-base-label{font-size:.75rem;color:#78350f;display:block;margin-bottom:.3rem}.agro-base-input{width:100%;padding:.6rem;border-radius:8px;border:1px solid #fcd34d;background:var(--bg-card);box-sizing:border-box}.agro-data-table{width:100%;font-size:.85rem}.agro-n-cell{color:#10b981;font-weight:700}.agro-table-total{font-weight:700;background:#f0fdf4}.agro-table-total .agro-n-cell{color:#10b981}.agro-empty-placeholder{text-align:center;padding:1.5rem;color:var(--text-dim);font-size:.9rem;background:var(--bg-page);border-radius:8px}.agro-no-plot-state{text-align:center;padding:4rem 2rem;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc80;border-radius:12px;border:1px dashed var(--border-strong)}.agro-no-plot-icon{font-size:3rem;margin-bottom:1rem}.agro-modal-calc{margin-bottom:2rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1.5rem}.agro-modal-calc h4{font-size:1rem;color:var(--text-main);margin-bottom:1rem}.agro-calc-box{background:var(--bg-main);padding:1rem;border-radius:12px;font-family:monospace;font-size:.9rem}.agro-calc-row{display:flex;justify-content:space-between;padding:4px 0}.agro-calc-row--separator{border-bottom:1px dashed var(--border-strong)}.agro-calc-row--gain{color:#10b981}.agro-calc-row--loss{color:var(--danger-color)}.agro-calc-row--total{font-size:1.1rem;font-weight:700;color:var(--text-main);border-top:1px solid var(--text-dim);margin-top:8px;padding-top:8px}.agro-calc-row--total span:last-child{color:#10b981}.agro-model-desc{color:var(--text-muted);line-height:1.6;font-size:.9rem}.agro-model-gains-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem}.agro-gains-card{background:#f0fdf4;padding:.75rem;border-radius:8px}.agro-gains-card strong{color:#166534;font-size:.85rem}.agro-losses-card{background:#fef2f2;padding:.75rem;border-radius:8px}.agro-losses-card strong{color:#991b1b;font-size:.85rem}.agro-gains-card ul,.agro-losses-card ul{margin:.25rem 0 0 .75rem;padding:0;font-size:.8rem}.agro-model-footnote{font-style:italic;font-size:.8rem;margin-top:1rem;color:var(--text-dim)}.agro-modal-confirm-btn{width:100%;margin-top:1.5rem}.agro-modal-box{max-width:600px;padding:2rem}.tab-selector-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.tab-selector-label{font-size:.875rem;color:var(--text-muted);font-weight:600;white-space:nowrap}.tab-selector-select{padding:.45rem .9rem;border-radius:8px;border:1px solid var(--border-subtle, #e2e8f0);background:var(--card-bg, #fff);color:var(--text-main);font-size:.95rem;cursor:pointer;min-width:220px}.phyto-summary-banner{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:12px;background:var(--glass-bg, rgba(255,255,255,.06));border:1px solid var(--border-subtle, #e2e8f0)}.phyto-kpi{display:flex;flex-direction:column;align-items:center;flex:1 1 110px;gap:.2rem}.phyto-kpi-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.phyto-kpi-value{font-size:1.35rem;font-weight:700;color:var(--text-main)}.phyto-field-block{background:var(--glass-bg, rgba(255,255,255,.04));border:1px solid var(--border-subtle, #e2e8f0);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.25rem}.phyto-field-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.85rem}.phyto-field-name{font-weight:700;font-size:1rem;color:var(--text-main)}.phyto-field-meta{font-size:.83rem;color:var(--text-muted)}.phyto-field-count{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--primary-color, #16a34a);background:var(--primary-glow, #dcfce7);border-radius:20px;padding:.15rem .65rem}.phyto-table th,.phyto-table td{text-align:right}.phyto-amm-link{font-size:.82rem;color:#2563eb;text-decoration:none;white-space:nowrap}.phyto-amm-link:hover{text-decoration:underline}.phyto-legal-note{margin-top:1rem;padding:.75rem 1rem;border-radius:10px;background:var(--glass-bg, rgba(0,0,0,.02));border:1px solid var(--border-subtle, #e2e8f0);font-size:.8rem;color:var(--text-muted)}.ppf-actions-row{display:flex;justify-content:flex-end;gap:.6rem;margin-bottom:1rem}.ppf-download-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:8px;border:1px solid var(--border-subtle, #e2e8f0);background:var(--card-bg, #fff);color:var(--text-main);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.ppf-download-btn:hover:not(:disabled){background:var(--primary-glow, #dcfce7);border-color:var(--primary-color, #16a34a);color:var(--primary-color, #16a34a)}.ppf-download-btn:disabled{opacity:.6;cursor:not-allowed}.ppf-download-btn--csv{color:#166534;border-color:#86efac;background:#f0fdf4}.ppf-download-btn--xml{color:#1e40af;border-color:#93c5fd;background:#eff6ff}.phyto-actions-row{align-items:center;flex-wrap:wrap}.phyto-actions-label{font-size:.75rem;color:var(--text-muted);font-weight:600;white-space:nowrap}.phyto-compliance-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:20px;background:#f0fdf4;border:1px solid #86efac;color:#166534;font-size:.75rem;font-weight:700;margin-bottom:.75rem}.phyto-badge-icon{font-size:.9rem}.phyto-kpi--ift .phyto-kpi-value{font-size:1.1rem}.ift-ok{color:#16a34a}.ift-warning{color:#d97706}.nitrogen-header-badges{display:flex;gap:.5rem;align-items:center}.badge-gren,.badge-comifer{padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em}.badge-gren{background:#dcfce7;color:#166534;border:1px solid #86efac}.badge-comifer{background:#dbeafe;color:#1e3a8a;border:1px solid #93c5fd}.nitrogen-soil-banner{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-main);border-radius:10px;font-size:.85rem;color:var(--text-muted);margin-bottom:1.25rem;border:1px solid var(--border-subtle)}.nitrogen-year-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.nitrogen-tab{padding:.4rem 1rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-card);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.nitrogen-tab:hover{background:var(--bg-main)}.nitrogen-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-dark)}.nitrogen-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border-subtle);margin-bottom:1.5rem}.nitrogen-table{width:100%;border-collapse:collapse;font-size:.9rem}.nitrogen-table th{padding:.75rem 1rem;background:var(--text-main);color:var(--bg-main);text-align:center;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:help}.nitrogen-table td{padding:.65rem 1rem;border-bottom:1px solid var(--bg-main);vertical-align:middle;text-align:center}.nitrogen-table tbody tr:hover{background:var(--bg-page)}.nitrogen-table tbody tr:last-child td{border-bottom:none}.nitrogen-table tfoot td{padding:.75rem 1rem;background:var(--bg-main);border-top:2px solid var(--border-subtle);text-align:center}.crop-name{display:block;font-weight:700;color:var(--text-main)}.plot-name{display:block;font-size:.75rem;color:var(--text-dim)}.plot-soil-type{display:inline-block;margin-top:2px;font-size:.68rem;color:var(--text-muted);background:var(--bg-main);border-radius:4px;padding:0 5px}.td-num{text-align:center;font-variant-numeric:tabular-nums}.td-mh{color:#6366f1}.td-mr.positive{color:#10b981}.td-mr.negative{color:var(--danger-color)}.td-xa{color:var(--warning-color)}.td-limit{color:var(--text-dim);font-size:.8rem}.td-limit--na{color:var(--border-strong)}.nitrogen-dose-col{background:#10b9811a}.td-dose.dose-ok{font-weight:800;color:#059669}.td-dose.dose-low{font-weight:700;color:var(--warning-color)}.td-dose.dose-over{font-weight:800;color:#dc2626}.row-warning{background:#ef44440a}.nitrogen-formula-box{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.75rem 1rem;background:var(--text-main);border-radius:10px;margin-bottom:1rem;color:var(--bg-main)}.formula-label{font-size:.8rem;font-weight:700;color:var(--text-dim)}.nitrogen-formula-box code{font-family:Courier New,monospace;font-size:1rem;font-weight:700;color:#34d399}.formula-note{font-size:.75rem;color:var(--text-dim);flex:1;min-width:200px}.nitrogen-note-box{padding:.9rem 1rem;background:#fefce8;border:1px solid #fde68a;border-radius:10px;font-size:.85rem;color:#78350f;margin-bottom:1rem}.nitrogen-note-box p{margin:0}.nitrogen-note-box--info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.nitrogen-sources{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-muted);font-style:italic;margin-top:1rem}:root{--carbon-blue-50: #eff6ff;--carbon-blue-100: #dbeafe;--carbon-blue-200: #bfdbfe;--carbon-blue-600: #2563eb;--carbon-blue-700: #1d4ed8;--carbon-blue-800: #1e40af;--carbon-blue-900: #1e3a8a;--carbon-green-50: #ecfdf5;--carbon-green-100: #d1fae5;--carbon-green-600: #059669;--carbon-green-700: #047857;--carbon-green-800: #065f46;--carbon-green-900: #064e3b;--carbon-orange-50: #fffbeb;--carbon-orange-100: #fef3c7;--carbon-orange-600: #d97706;--carbon-orange-700: #b45309;--carbon-orange-800: #92400e;--carbon-red-50: #fef2f2;--carbon-red-100: #fee2e2;--carbon-red-600: #dc2626;--carbon-red-700: #b91c1c;--carbon-red-800: #991b1b;--carbon-slate-50: #f8fafc;--carbon-slate-100: #f1f5f9;--carbon-slate-200: #e2e8f0;--carbon-slate-400: #94a3b8;--carbon-slate-500: #64748b;--carbon-slate-600: #475569;--carbon-slate-700: #334155;--carbon-slate-800: #1e293b}.carbon-report-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.carbon-summary-banner{padding:1.5rem 2rem;border-radius:12px;background:var(--bg-card);border:1px solid var(--carbon-slate-200);display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 6px -1px #0000000d;position:relative;overflow:hidden}.carbon-summary-banner:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%}.carbon-summary-banner--sink:before{background:var(--carbon-green-600)}.carbon-summary-banner--source:before{background:var(--carbon-red-600)}.carbon-summary-label{display:flex;flex-direction:column;gap:4px}.summary-title{font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--carbon-slate-500);letter-spacing:.05em}.summary-subtitle{font-size:.8rem;color:var(--carbon-slate-400)}.carbon-summary-value{text-align:right;display:flex;flex-direction:column}.summary-main-val{font-size:2rem;font-weight:900;line-height:1.1;font-feature-settings:"tnum"}.summary-main-val--green{color:var(--carbon-green-800)}.summary-main-val--red{color:var(--carbon-red-800)}.summary-sub-val{font-size:.9rem;font-weight:700;color:var(--carbon-slate-500)}.carbon-analytical-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:1.5rem;align-items:start}@media (max-width: 1024px){.carbon-analytical-grid{grid-template-columns:1fr}}.carbon-table-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--carbon-slate-200);overflow:hidden}.carbon-table-header{padding:1rem 1.25rem;background:var(--carbon-slate-50);border-bottom:1px solid var(--carbon-slate-200);font-weight:700;font-size:.9rem;color:var(--carbon-slate-700);display:flex;align-items:center;gap:10px}.carbon-technical-table{width:100%;border-collapse:collapse}.carbon-technical-table th,.carbon-technical-table td{padding:.75rem 1.25rem;text-align:left;font-size:.875rem;border-bottom:1px solid var(--carbon-slate-100)}.carbon-technical-table th{font-weight:700;color:var(--carbon-slate-500);background:var(--bg-card);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.carbon-technical-table tr:last-child td{border-bottom:none}.carbon-technical-table .td-category{font-weight:700;color:var(--carbon-slate-800)}.carbon-technical-table .td-val{font-family:inherit;font-weight:700;text-align:right;color:var(--carbon-slate-900);font-feature-settings:"tnum"}.carbon-technical-table .td-unit{color:var(--carbon-slate-400);font-weight:500;font-size:.8rem}.row-group-title{background:var(--carbon-slate-100)!important;color:var(--carbon-slate-600)!important;font-weight:800!important;padding:.5rem 1.25rem!important;font-size:.75rem!important;text-transform:uppercase}.carbon-chart-box{height:400px;padding:1.5rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--carbon-slate-200);box-shadow:0 4px 6px -1px #0000000d}.carbon-chart-caption{display:block;text-align:center;margin-top:1rem;font-size:.875rem;color:var(--carbon-slate-500);font-weight:600}.carbon-note-box{margin-top:2rem;color:var(--text-muted);font-size:.9rem;padding:1.25rem;background:var(--bg-page);border-radius:12px;border-left:4px solid var(--border-strong);line-height:1.5}.carbon-note-box p{margin:0;display:flex;gap:12px}.carbon-run-btn{padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;border-radius:10px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;background:var(--primary-color);color:#fff;border:none;cursor:pointer}.carbon-run-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-dark)}.carbon-model-details{margin-top:3rem;padding:2rem;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow)}.model-details-title{font-size:1.1rem;font-weight:700;color:var(--text-main);margin-bottom:1.5rem;display:flex;align-items:center;gap:10px;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.model-details-title svg{color:var(--primary-color);flex-shrink:0}.model-formula{font-family:JetBrains Mono,Courier New,monospace;font-size:1.4rem;text-align:center;padding:1.25rem;background:var(--bg-main);border-radius:10px;margin-bottom:2rem;color:var(--primary-dark);font-weight:700;border:1px solid var(--border-subtle)}.model-factors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.model-factor{padding:1.25rem;background:var(--bg-page);border-radius:10px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.factor-label{font-weight:700;font-size:.75rem;text-transform:uppercase;color:var(--primary-dark);letter-spacing:.05em}.factor-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.factor-value{margin-top:.25rem;font-size:.9rem;font-weight:700;color:var(--primary-color)}.model-sources{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);font-size:.8125rem;color:var(--text-muted)}.sources-label{display:block;font-weight:700;margin-bottom:.5rem;color:var(--text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.model-sources p{margin:0;line-height:1.5;color:var(--text-muted)}.land-first-plot-banner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;margin-bottom:1.5rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;flex-wrap:wrap}.land-first-plot-banner__content{display:flex;align-items:center;gap:1rem}.land-first-plot-banner__icon{font-size:1.75rem;flex-shrink:0}.land-first-plot-banner__title{margin:0 0 .2rem;font-weight:700;font-size:1rem;color:#065f46}.land-first-plot-banner__subtitle{margin:0;font-size:.875rem;color:#047857}.land-first-plot-banner__actions{display:flex;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.land-first-plot-banner__btn{padding:.6rem 1.25rem;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;border:none;transition:background .2s,opacity .2s}.land-first-plot-banner__btn--secondary{background:#fff;color:#065f46;border:1px solid #a7f3d0}.land-first-plot-banner__btn--secondary:hover{background:#d1fae5}.land-first-plot-banner__btn--primary{background:#10b981;color:#fff}.land-first-plot-banner__btn--primary:hover{background:#059669}[data-theme=dark] .land-first-plot-banner{background:#10b98114;border-color:#10b9814d}[data-theme=dark] .land-first-plot-banner__title{color:#6ee7b7}[data-theme=dark] .land-first-plot-banner__subtitle{color:#34d399}[data-theme=dark] .land-first-plot-banner__btn--secondary{background:transparent;color:#6ee7b7;border-color:#10b98166}[data-theme=dark] .land-first-plot-banner__btn--secondary:hover{background:#10b98126}.land-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.plot-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-subtle);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.plot-card:hover{box-shadow:var(--card-shadow)}.plot-card-map{height:120px;width:100%;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.plot-card-body{padding:1.25rem}.plot-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.plot-card-name-block{flex:1;min-width:0}.plot-card-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-main)}.plot-card-inactive-badge{font-size:.75rem;font-weight:500;color:var(--danger-color);margin-left:8px}.plot-card-ref-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:var(--text-dim);background:var(--bg-page);padding:1px 6px;border-radius:4px;border:1px solid var(--border-subtle);margin:4px 0}.plot-card-ref-badge--ilot{background:#ecfdf5;border-color:#86efac;color:#166534}.plot-card-tags{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}.plot-card-area-block{text-align:right}.plot-card-area-value{font-size:1.2rem;font-weight:800;color:var(--text-main)}.plot-card-area-unit{font-size:.8rem;font-weight:600;color:var(--text-muted)}.plot-card-area-cost{font-size:.75rem;color:var(--text-dim)}.plot-card-area-cost strong{font-weight:700;color:var(--text-muted)}.plot-card-area-cost-unit{font-size:.7rem;color:var(--text-dim);margin-left:2px}.plot-card-info{margin-bottom:1rem}.plot-card-info-owner{margin:0;font-size:.8rem;color:var(--text-muted)}.plot-card-info-owner span{color:var(--text-muted)}.plot-card-info-dates{margin:.2rem 0 0;font-size:.75rem;color:var(--text-dim)}.plot-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.plot-card-action-group{display:flex;gap:.4rem}.land-modal-empty{text-align:center;padding:2rem;color:var(--text-dim);font-style:italic}.land-radius-control{display:flex;align-items:center;gap:.5rem;padding:0 1rem;background:var(--bg-main);border-radius:8px;border:1px solid var(--border-subtle)}.land-radius-control label{font-size:.8rem;font-weight:600;color:var(--text-muted);min-width:90px}.land-radius-slider{flex:1;cursor:pointer;accent-color:#6366f1}.land-map-address-bar{display:flex;gap:1rem;margin-bottom:1rem}.land-map-address-bar input{flex:1;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);font-size:.95rem;box-sizing:border-box;background:var(--bg-input);color:var(--text-main)}.land-map-hint{font-size:.8rem;color:var(--text-muted);margin:-.5rem 0 1rem .25rem;display:flex;align-items:center;gap:4px}.land-map-container{width:100%;height:650px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:1.5rem}.land-history-table{width:100%;border-collapse:collapse;text-align:left}.land-history-table thead tr{border-bottom:2px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}.land-history-table th{padding:8px}.land-history-table th:nth-child(3),.land-history-table th:nth-child(4){text-align:right}.land-history-table tbody tr{border-bottom:1px solid var(--bg-main)}.land-history-table .year-cell{padding:12px 8px;font-weight:600;color:var(--text-muted)}.land-history-table .crop-cell{padding:12px 8px;display:flex;align-items:center;gap:8px}.land-history-color-swatch{display:inline-block;width:10px;height:20px;border-radius:3px;flex-shrink:0}.land-history-crop-name{font-weight:700;color:var(--text-main)}.land-history-margin-ha{padding:12px 8px;text-align:right;font-family:monospace;font-weight:700}.land-history-margin-total{padding:12px 8px;text-align:right;font-family:monospace;font-weight:800;color:var(--text-main)}.land-modal-delete-row{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle);justify-content:flex-start}.btn-danger--outline{background:transparent;border:1px solid var(--danger-color);color:var(--danger-color);font-size:.85rem;padding:6px 12px;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.btn-danger--outline:hover{background:#ef44441a;border-color:var(--danger-color)}.land-delete-modal{max-width:400px;text-align:center}.land-delete-icon{font-size:3rem;margin-bottom:1rem}.land-delete-title{margin:0 0 1rem;color:var(--text-main);font-size:1.25rem}.land-delete-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.land-delete-actions{display:flex;gap:1rem;justify-content:center}.land-header-left{display:flex;align-items:center;gap:1.5rem}.land-modal-footer--end{display:flex;justify-content:flex-end;margin-top:1.5rem;gap:1rem}.land-search-btn{padding:0 1.5rem;border-radius:8px;font-weight:600;white-space:nowrap}.land-detect-btn{padding:0 1.5rem;border-radius:8px;font-weight:600;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;box-shadow:0 2px 4px #6366f133}.land-detect-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 8px #6366f14d;transform:translateY(-1px)}.land-detect-btn:disabled{background:var(--text-dim);box-shadow:none;transform:none}.land-history-margin-ha--positive{color:var(--success-color)}.land-history-margin-ha--negative{color:var(--danger-color)}.action-btn-label{display:none}@media (max-width: 768px){.land-grid{grid-template-columns:1fr;gap:1rem}.land-map-container{height:300px}.land-history-table{display:block;overflow-x:auto}.plot-card-header{flex-direction:column;align-items:flex-start}.plot-card-area-block{text-align:left;display:flex;gap:1rem;align-items:baseline}.plot-card-body{padding:.875rem}.land-btn-add-header{display:none}.action-btn-label{display:inline;font-size:.75rem;font-weight:600;margin-left:2px}.plot-card-action-group .action-btn-icon{padding:6px 10px;font-size:.8rem}}@media (max-width: 480px){.land-map-container{height:250px}.land-map-address-bar{flex-direction:column;gap:.5rem}.land-search-btn{width:100%}}.btn-add:disabled{background:var(--text-dim);cursor:not-allowed;opacity:.7}.limit-banner{display:flex;align-items:center;gap:1rem;padding:1rem;margin-bottom:1.5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px;color:var(--text-main);font-size:.9rem}.limit-banner--danger{background:#ef44441a;border-color:#ef44444d;color:var(--danger-color)}.limit-banner-icon{font-size:1.5rem}.limit-banner-content p{margin:0}.limit-link{color:currentColor;text-decoration:underline;font-weight:600;margin-left:.5rem}.land-list{display:flex;flex-direction:column;gap:.75rem}.land-item{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end;box-shadow:0 1px 3px #0000000d}.land-item-input label{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem}.land-item-input input{width:100%;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:6px;padding:.5rem;color:var(--text-main);font-size:.9rem}.land-item-details{grid-column:1 / -1;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);display:none}.land-item-details.active{display:flex;justify-content:space-between;align-items:center}.danger-zone{background:#ef44440d;padding:.8rem;border-radius:8px;border:1px solid rgba(239,68,68,.1);display:flex;justify-content:space-between;align-items:center;width:100%}.btn-toggle-options{background:var(--bg-page);border:1px solid var(--border-subtle);color:var(--text-muted);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-toggle-options:hover{background:var(--bg-main);color:var(--text-main);border-color:var(--border-strong)}.btn-delete-land{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-delete-land:hover{background:#dc2626}.land-legal-disclaimer{font-size:.72rem;color:var(--text-dim);background:var(--bg-main);border:1px solid var(--border-subtle);padding:.75rem;border-radius:8px;margin-top:1.5rem;line-height:1.4;font-style:italic}.land-legal-disclaimer strong{color:var(--text-muted)}.lease-duration-warning{margin-top:6px;padding:6px 10px;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:4px;font-size:.75rem;color:#78350f;line-height:1.4}.land-edit-modal-box{max-width:1300px;width:95vw;padding:2rem 2rem 1.5rem;max-height:92vh;overflow-y:auto;min-width:320px;min-height:220px;resize:both}.land-edit-modal-box h2{margin:0 0 1.25rem;padding-right:2.5rem}.land-edit-modal-body{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}.land-edit-modal-form{display:flex;flex-direction:column;gap:0;min-width:0}.land-edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.land-edit-form-full{grid-column:1 / -1}.land-edit-input-help{margin:.35rem 0 0;font-size:.74rem;color:var(--text-dim)}.land-edit-bcae-section{margin-top:1rem;padding:1rem;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:10px}.land-edit-bcae-title{display:block;font-weight:700;color:var(--text-main);font-size:.85rem;margin-bottom:.75rem}.land-edit-modal-map{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:0;min-width:0}.land-edit-map-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.land-edit-map-hint{font-size:.78rem;color:var(--text-dim);margin:0;line-height:1.4;flex:1}.land-edit-rpg-btn{flex-shrink:0;padding:5px 10px;font-size:.75rem;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-muted);cursor:pointer;transition:all .2s;white-space:nowrap}.land-edit-rpg-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-card)}.land-edit-rpg-btn:disabled{opacity:.5;cursor:not-allowed}.land-edit-map-container{height:440px;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle);flex-shrink:0}.land-edit-modal-actions{display:flex;align-items:center;gap:1rem;padding-top:.5rem;border-top:1px solid var(--border-subtle)}.land-edit-btn-save{flex:1}@media (max-width: 900px){.land-edit-modal-box{width:100%;max-height:95vh;padding:1.25rem}.land-edit-modal-body{grid-template-columns:1fr}.land-edit-modal-map{position:static}.land-edit-map-container{height:320px}}.land-main-tabs{display:flex;gap:.25rem;padding:1rem 1.5rem 0;border-bottom:2px solid var(--border-subtle);margin-bottom:1.5rem}.land-main-tab{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--text-dim);cursor:pointer;transition:color .18s,border-color .18s;border-radius:6px 6px 0 0}.land-main-tab:hover{color:var(--text-main);background:var(--bg-hover, rgba(0,0,0,.04))}.land-main-tab.active{color:var(--accent-color, #3b82f6);border-bottom-color:var(--accent-color, #3b82f6)}.bail-sim-title{font-size:1.35rem;font-weight:700;color:var(--text-main);margin:0 0 .25rem;padding:0 1.5rem}.bail-sim-subtitle{font-size:.82rem;color:var(--text-dim);margin:0 0 1.25rem;padding:0 1.5rem}.bail-sim-tabs{display:flex;gap:.25rem;padding:0 1.5rem;border-bottom:1px solid var(--border-subtle);margin-bottom:1.5rem}.bail-sim-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;color:var(--text-dim);cursor:pointer;transition:color .18s,border-color .18s}.bail-sim-tab:hover{color:var(--text-main)}.bail-sim-tab.active{color:var(--accent-color, #3b82f6);border-bottom-color:var(--accent-color, #3b82f6)}.bail-sim-body{padding:0 1.5rem 1.5rem}.bail-sim-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.bail-sim-field{display:flex;flex-direction:column;gap:.35rem}.bail-sim-field--full{grid-column:1 / -1}.bail-sim-field label{font-size:.8rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.bail-sim-field input,.bail-sim-field select{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-main);font-size:.9rem}.bail-sim-hint{font-size:.75rem;color:var(--text-dim);margin:0;font-style:italic}.bail-sim-index-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.bail-sim-index-pill{display:flex;flex-direction:column;align-items:center;padding:.5rem .9rem;border-radius:10px;border:2px solid var(--border-subtle);background:var(--bg-page);cursor:pointer;transition:border-color .15s,background .15s;min-width:90px}.bail-sim-index-pill:hover{border-color:var(--accent-color, #3b82f6)}.bail-sim-index-pill.active{border-color:var(--accent-color, #3b82f6);background:color-mix(in srgb,var(--accent-color, #3b82f6) 10%,transparent)}.bail-sim-index-year{font-size:.75rem;color:var(--text-dim);font-weight:600}.bail-sim-index-val{font-size:1rem;font-weight:700;color:var(--text-main)}.bail-sim-index-var{font-size:.72rem;font-weight:600}.bail-sim-index-var.pos{color:var(--success-color, #22c55e)}.bail-sim-index-var.neg{color:var(--danger-color, #ef4444)}.bail-sim-results{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:14px;padding:1.25rem}.bail-sim-result-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.bail-sim-result-dept{font-size:1rem;font-weight:700;color:var(--text-main)}.bail-sim-result-type{font-size:.8rem;color:var(--text-dim);background:var(--bg-card);border:1px solid var(--border-subtle);padding:2px 8px;border-radius:6px}.bail-sim-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.bail-sim-result-card{padding:.85rem 1rem;border-radius:10px;text-align:center;display:flex;flex-direction:column;gap:.3rem}.bail-sim-result-card--min{background:#ef444414;border:1px solid rgba(239,68,68,.2)}.bail-sim-result-card--mid{background:#3b82f614;border:2px solid rgba(59,130,246,.3)}.bail-sim-result-card--max{background:#22c55e14;border:1px solid rgba(34,197,94,.2)}.bail-sim-result-label{font-size:.73rem;color:var(--text-dim);font-weight:600;text-transform:uppercase}.bail-sim-result-value{font-size:1.2rem;font-weight:700;color:var(--text-main)}.bail-sim-result-value--main{font-size:1.5rem;color:var(--accent-color, #3b82f6)}.bail-sim-result-unit{font-size:.72rem;color:var(--text-dim);font-weight:400;margin-left:2px}.bail-sim-result-total{font-size:.78rem;color:var(--text-dim)}.bail-sim-update-block{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem}.bail-sim-update-label{font-size:.82rem;font-weight:600;color:var(--text-main);margin-bottom:.6rem}.bail-sim-update-row{display:flex;gap:1.5rem;flex-wrap:wrap}.bail-sim-update-item{display:flex;flex-direction:column;gap:.15rem}.bail-sim-update-item span{font-size:.75rem;color:var(--text-dim)}.bail-sim-update-item strong{font-size:.95rem;color:var(--text-main)}.bail-sim-pos{color:var(--success-color, #22c55e)!important}.bail-sim-neg{color:var(--danger-color, #ef4444)!important}.bail-sim-explainer{font-size:.8rem;color:var(--text-dim);line-height:1.6;border-top:1px solid var(--border-subtle);padding-top:.75rem;margin-top:.75rem}.bail-sim-explainer p{margin:.3rem 0}.bail-sim-no-result{text-align:center;color:var(--text-dim);font-size:.88rem;padding:2rem 0}.bail-sim-quintal-intro{margin-bottom:1.5rem}.bail-sim-quintal-intro h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem;color:var(--text-main)}.bail-sim-quintal-intro p{font-size:.88rem;color:var(--text-dim);line-height:1.65;margin:.3rem 0}.bail-sim-quintal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.bail-sim-quintal-card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;padding:1.1rem}.bail-sim-quintal-icon{font-size:1.5rem;margin-bottom:.4rem}.bail-sim-quintal-title{font-size:.88rem;font-weight:700;color:var(--text-main);margin-bottom:.65rem;text-transform:uppercase;letter-spacing:.04em}.bail-sim-quintal-table{width:100%;border-collapse:collapse;font-size:.85rem;color:var(--text-main)}.bail-sim-quintal-table td{padding:.25rem .4rem}.bail-sim-quintal-card p{font-size:.82rem;color:var(--text-dim);line-height:1.6;margin:.3rem 0}.bail-sim-quintal-conv{display:flex;flex-direction:column;gap:.6rem}.bail-sim-quintal-conv-row{display:flex;flex-direction:column;gap:.25rem}.bail-sim-quintal-conv-row label{font-size:.76rem;font-weight:600;color:var(--text-dim);text-transform:uppercase}.bail-sim-quintal-conv-row input{padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);font-size:.9rem}.bail-sim-quintal-result{background:color-mix(in srgb,var(--accent-color, #3b82f6) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-color, #3b82f6) 30%,transparent);border-radius:8px;padding:.65rem .9rem;font-size:.88rem;color:var(--text-main);display:flex;flex-direction:column;gap:.2rem}.bail-sim-quintal-kg{font-size:.78rem;color:var(--text-dim)}.bail-sim-sources h3{font-size:1.05rem;font-weight:700;margin-bottom:1.25rem;color:var(--text-main)}.bail-sim-source-block{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem 1.1rem;margin-bottom:.85rem}.bail-sim-source-block--warn{background:#eab30812;border-color:#eab30840}.bail-sim-source-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.6rem}.bail-sim-source-block ul{margin:0;padding-left:1.2rem}.bail-sim-source-block li{font-size:.83rem;color:var(--text-main);line-height:1.65;margin-bottom:.35rem}.bail-sim-source-block li em{color:var(--text-dim)}.bail-sim-source-block p{font-size:.83rem;color:var(--text-main);line-height:1.65;margin:0}.land-edit-section{margin-bottom:1.25rem;border:1px solid var(--border-subtle);border-radius:10px;padding:.85rem 1rem;background:var(--bg-page)}.land-edit-section--fermage{border-color:color-mix(in srgb,var(--accent-color, #3b82f6) 30%,transparent);background:color-mix(in srgb,var(--accent-color, #3b82f6) 4%,transparent)}.land-edit-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem}.land-edit-sim-link{margin-left:auto;background:none;border:1px solid var(--accent-color, #3b82f6);color:var(--accent-color, #3b82f6);border-radius:6px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s}.land-edit-sim-link:hover{background:color-mix(in srgb,var(--accent-color, #3b82f6) 12%,transparent)}.land-edit-fermage-total{display:flex;align-items:baseline;gap:.3rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.land-edit-fermage-total-val{font-size:1.15rem;font-weight:700;color:var(--text-main)}.land-edit-fermage-total-unit{font-size:.78rem;color:var(--text-dim)}.land-edit-fermage-9ans{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:8px;padding:.4rem .75rem;font-size:.82rem;color:var(--text-dim)}.land-edit-fermage-9ans strong{color:var(--text-main);font-size:.9rem}.bail-sim-calc-mode{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.bail-sim-mode-btn{padding:.3rem .75rem;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-dim);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.bail-sim-mode-btn.active{border-color:var(--accent-color, #3b82f6);color:var(--accent-color, #3b82f6);background:color-mix(in srgb,var(--accent-color, #3b82f6) 10%,transparent)}.bail-sim-mode-inputs{display:flex;flex-direction:column;gap:.35rem}.bail-sim-mode-inputs input,.bail-sim-mode-inputs select{padding:.45rem .7rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-main);font-size:.88rem}.bail-sim-update-formula{font-size:.78rem;font-family:monospace;color:var(--text-dim);background:var(--bg-page);border:1px dashed var(--border-subtle);border-radius:6px;padding:.3rem .6rem;margin-bottom:.6rem}.bail-sim-ble-ref-banner{background:color-mix(in srgb,var(--accent-color, #3b82f6) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-color, #3b82f6) 25%,transparent);border-radius:8px;padding:.6rem 1rem;font-size:.85rem;color:var(--text-main);margin-top:.75rem}.bail-sim-quintal-card--wide{grid-column:span 2}.bail-sim-quintal-step{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem;padding:.3rem 0;border-bottom:1px solid var(--border-subtle)}.bail-sim-quintal-step:last-of-type{border-bottom:none}.bail-sim-quintal-step--total{font-size:.9rem;padding-top:.5rem}.bail-sim-quintal-step span{color:var(--text-dim)}.bail-sim-quintal-step em{color:var(--accent-color, #3b82f6);font-style:normal;font-weight:700}.bail-sim-ble-table-wrapper{max-height:260px;overflow-y:auto}.bail-sim-ble-table thead th{position:sticky;top:0;background:var(--bg-page);font-size:.72rem;color:var(--text-dim);text-align:left;padding:.25rem .4rem}.bail-sim-ble-table td{font-size:.8rem;padding:.2rem .4rem}.bail-sim-ble-ref td{color:var(--accent-color, #3b82f6);font-weight:600}.bail-sim-tax-grid{display:flex;flex-direction:column;gap:.5rem}.bail-sim-tax-row{display:grid;grid-template-columns:1fr 2fr auto;gap:.75rem;align-items:center;padding:.5rem .75rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-subtle);font-size:.83rem}.bail-sim-tax-row--total{background:var(--bg-page);border-color:var(--accent-color, #3b82f6)}.bail-sim-tax-label{font-weight:600;color:var(--text-main)}.bail-sim-tax-formula{font-size:.76rem;font-family:monospace;color:var(--text-dim)}.bail-sim-tax-val{font-size:.9rem;font-weight:600;text-align:right;white-space:nowrap}.bail-sim-tax-val--total{font-size:1.05rem}@media (max-width: 640px){.bail-sim-result-grid{grid-template-columns:1fr}.bail-sim-index-row{gap:.4rem}.bail-sim-index-pill{min-width:75px;padding:.4rem .6rem}.bail-sim-title,.bail-sim-subtitle,.bail-sim-tabs,.bail-sim-body{padding-left:1rem;padding-right:1rem}.land-main-tabs{padding:.75rem 1rem 0}.bail-sim-quintal-card--wide{grid-column:span 1}.bail-sim-tax-row{grid-template-columns:1fr}}.bank-kpi-row{display:flex;gap:1rem;margin-bottom:2rem}.bank-kpi-card{flex:1;min-height:80px;padding:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px}.bank-kpi-card--green{background:#f0fdf4;border-color:#bbf7d0}.bank-kpi-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.bank-kpi-label--green{color:#15803d}.bank-kpi-value{font-size:1.2rem;font-weight:800;color:var(--text-main);margin-top:4px}.bank-kpi-value--green{color:#166534}.bank-kpi-sub{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.bank-actions-bar{display:flex;justify-content:flex-end;gap:1rem;margin-bottom:2rem}.bank-section-title{font-size:1.1rem;margin-bottom:1rem;color:var(--text-main)}.bank-loans-list{display:flex;flex-direction:column;gap:1rem}.bank-loan-row{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1.25rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:1rem;align-items:center}.bank-loan-field-label{font-size:.75rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;margin-bottom:4px}.bank-loan-field-value{font-weight:600;color:var(--text-main)}.bank-loan-field-sub{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.bank-loan-annuity{font-weight:700;color:#15803d}.bank-loan-actions{display:flex;gap:.5rem}.bank-action-btn{background:var(--bg-main);border:none;padding:6px;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.bank-action-btn:hover{background:var(--bg-neutral)}.bank-action-btn--danger{background:#fef2f2;color:var(--danger-color)}.bank-action-btn--danger:hover{background:#fee2e2}.bank-empty{text-align:center;padding:2rem;color:var(--text-dim);background:var(--bg-page);border-radius:12px;border:1px dashed var(--border-strong)}.bank-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.bank-field-hint{font-size:.7rem;color:var(--text-dim);margin-top:.25rem;display:block}.bank-amort-modal{max-width:800px;max-height:90vh;display:flex;flex-direction:column}.bank-amort-table-wrapper{overflow-y:auto;flex:1;border:1px solid var(--border-subtle);border-radius:8px}.bank-amort-table{width:100%;border-collapse:collapse;font-size:.9rem}.bank-amort-table thead{position:sticky;top:0;background:var(--bg-page);z-index:1}.bank-amort-table th{padding:12px;text-align:left;border-bottom:1px solid var(--border-strong)}.bank-amort-table th:not(:first-child){text-align:right}.bank-amort-table td{padding:12px;border-bottom:1px solid var(--border-subtle);text-align:right}.bank-amort-table td:first-child{text-align:left}.bank-amort-annuity{font-weight:700;color:#15803d}.bank-amort-interest{color:var(--text-muted)}.view-title{margin:0}.view-modal-overlay--padded{padding:2rem}.invoicing-view{display:flex;flex-direction:column;gap:1.5rem}.invoicing-warning-banner{display:flex;align-items:center;gap:.5rem;background:rgba(var(--warning-rgb, 217, 119, 6),.1);border:1px solid var(--warning-color, #d97706);color:var(--warning-color, #d97706);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.invoicing-warning-banner a{color:inherit;font-weight:600;text-decoration:underline}.invoicing-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.search-field{position:relative;flex:1;max-width:400px}.search-field input{width:100%;padding:.8rem 1rem .8rem 2.8rem;border-radius:12px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-main);font-size:.95rem;transition:all .2s}.search-field .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-dim)}.status-tag{padding:.3rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-tag.draft{background:var(--bg-main);color:var(--text-muted)}.status-tag.sent{background:#10b98126;color:var(--success-color)}.status-tag.paid{background:#4f46e526;color:var(--edu-color)}.status-tag.rejected{background:#ef444426;color:var(--danger-color)}.invoicing-info-banner{background:var(--bg-card);padding:1.25rem;border-radius:12px;display:flex;gap:1.25rem;align-items:center;border-left:4px solid var(--success-color);margin-bottom:1.5rem;border:1px solid var(--border-subtle)}.flow-steps{margin-top:1.5rem}.supervision-layout{padding:.5rem 0}.stat-card{background:var(--bg-card);padding:1.25rem;border-radius:14px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--card-shadow)}.stat-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.stat-value{font-size:1.1rem;font-weight:800;color:var(--text-main)}.view-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.view-btn-secondary{background:var(--bg-card, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--text-main, #1e293b)}.view-btn-secondary:hover{background:var(--bg-main, #f1f5f9);border-color:var(--border-subtle, #cbd5e1)}.view-btn-primary{background:var(--primary-color, #16a34a);color:#fff;border-color:var(--primary-color, #16a34a)}.view-btn-primary:hover{filter:brightness(1.08)}.stocks-category-title{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:1rem;border-bottom:1px solid var(--bg-main);padding-bottom:.5rem}.stocks-category-section{margin-bottom:2rem}.stocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.stock-card{padding:1rem;border:1px solid rgba(148,163,184,.15);cursor:pointer;transition:transform .2s;border-radius:12px;background:var(--bg-card)}.stock-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stock-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.stock-card-name{color:var(--text-main);font-weight:700}.stock-card-actions{display:flex;gap:.5rem}.stock-card-footer{display:flex;justify-content:space-between;align-items:flex-end}.stock-card-qty{font-size:1.25rem;font-weight:700}.stock-card-qty-unit{font-size:.8rem;font-weight:600}.stock-card-label{font-size:.75rem;color:var(--text-muted)}.stock-card-price{font-size:.9rem;font-weight:600;color:var(--text-main);text-align:right}.stock-form-grid{display:grid;gap:1rem}.stock-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 768px){.stocks-grid,.stock-form-row{grid-template-columns:1fr}}.sales-stats-strip{display:flex;margin-top:1rem;margin-bottom:2rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;width:100%}.sales-stat-chip{display:flex;flex-direction:column;gap:2px;padding:.75rem 1.25rem;background:transparent;border:none;border-right:1px solid var(--border-subtle);cursor:default;transition:all .2s;text-align:left;flex:1;min-width:0}.sales-stat-chip:last-child{border-right:none}.sales-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sales-stat-value{font-size:1.1rem;font-weight:800;color:var(--text-main)}.sales-stat-value--blue{color:#2563eb}.sales-stat-value--green{color:#059669}.sales-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2.5rem}.sales-stat-card{padding:1.5rem;display:flex;flex-direction:column;justify-content:center;border-left:4px solid var(--primary-color)}.sales-section{margin-top:2rem}.sales-list{display:flex;flex-direction:column;gap:1rem}.sales-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;transition:transform .2s}.sales-item:hover{transform:translateY(-2px)}.sales-item-info{display:flex;align-items:center;gap:1.5rem;flex:1}.crop-badge{padding:.5rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem;min-width:120px;text-align:center}.sales-item-details{display:flex;flex-direction:column}.buyer-name{font-weight:600;color:var(--text-main);font-size:1.05rem}.contract-meta{font-size:.875rem;color:var(--text-muted)}.contract-meta--link{color:#2563eb;font-weight:600}.sales-item-metrics{display:flex;gap:3rem;margin:0 2rem}.metric-group{display:flex;flex-direction:column;align-items:flex-end}.metric-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase}.metric-value{font-weight:700;color:var(--text-main)}.sales-item-actions{display:flex;gap:.5rem}.empty-sales{text-align:center;padding:4rem 2rem;color:var(--text-dim)}.empty-sales-icon{font-size:4rem;margin-bottom:1rem}.sales-item-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}.sales-type-badge{display:inline-block;padding:.15rem .55rem;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.metric-value--total{color:#059669}.sales-modal-box{max-width:860px;width:96%;padding:0;min-width:320px;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.sales-form{overflow-y:auto;padding:0 2rem 1.5rem;display:flex;flex-direction:column;gap:0}.sales-form-section{padding:1.25rem 0 .25rem;border-bottom:1px solid var(--glass-border, #e2e8f0)}.sales-form-section--last{border-bottom:none}.sales-form-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin:0 0 1rem}.form-group--span2{grid-column:span 2}.sales-type-radio-group{display:flex;gap:.5rem;flex-wrap:wrap}.sales-type-radio{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .15s}.sales-type-radio input[type=radio]{display:none}.sales-type-radio.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.sales-total-inline{display:flex;align-items:center;height:2.75rem;padding:0 .9rem;border-radius:10px;border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d;font-weight:800;font-size:1rem}.sales-total-inline--empty{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;font-weight:400}.form-label{display:block;font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.4rem}.form-label-hint{font-weight:400;color:#94a3b8}.form-label-required{color:#ef4444}.sales-total-preview{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:.65rem 1rem;margin-bottom:1rem;font-size:.92rem;color:#15803d}.sales-total-preview strong{font-size:1.05rem;font-weight:800}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 0 .5rem}.btn-cancel{padding:.6rem 1.2rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-weight:600;cursor:pointer;font-size:.9rem}.btn-cancel:hover{background:#f1f5f9}@media (max-width: 700px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-group--span2{grid-column:span 1}.sales-modal-header,.sales-form{padding-left:1.25rem;padding-right:1.25rem}}.personnel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.personnel-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-subtle);padding:1.5rem}.personnel-card--disabled{background:var(--bg-page);border-style:dashed;border-color:var(--border-strong);opacity:.8}.personnel-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.personnel-card-title-row{display:flex;align-items:center;gap:12px}.personnel-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.personnel-icon--blue{background:#eff6ff}.personnel-icon--green{background:#f0fdf4}.personnel-icon--orange{background:#fff7ed}.personnel-card-title{margin:0;font-size:1.1rem;color:var(--text-main)}.personnel-shares-warning{color:var(--danger-color);font-size:.8rem;margin-bottom:1rem;text-align:center;font-weight:600;background:#fef2f2;border:1px solid #fecaca;padding:.5rem;border-radius:8px}.personnel-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.personnel-empty{text-align:center;color:var(--text-muted);font-size:.9rem;padding:1rem}.associate-item{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;padding:1rem;position:relative}.associate-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.associate-name{color:var(--text-main);font-size:1.05rem}.associate-badge{background:#dbeafe;color:#1d4ed8;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:600}.associate-actions{display:flex;gap:.5rem}.associate-action-btn{background:none;border:none;cursor:pointer;padding:4px}.associate-action-btn--danger{color:var(--danger-color)}.associate-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:.9rem;color:var(--text-muted)}.associate-info-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.2rem;text-transform:uppercase}.associate-info-value{font-weight:700;color:var(--text-main)}.personnel-add-btn{width:100%;justify-content:center;padding:.75rem;border:1px dashed #3b82f6;background:#eff6ff;color:#2563eb;font-weight:600;cursor:pointer;border-radius:10px}.msa-toggle-label{display:flex;align-items:center;cursor:pointer}.msa-toggle-text{font-size:.7rem;font-weight:700;color:var(--text-muted);margin-right:8px}.msa-amount-wrapper{position:relative}.msa-amount-input{width:100%;padding:.75rem .75rem .75rem 2.5rem;font-weight:700;font-size:1.1rem;border-radius:8px;border:1px solid var(--border-strong);box-sizing:border-box}.msa-currency-prefix{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#10b981;font-weight:700;font-size:1.1rem}.msa-auto-badge{margin-top:.75rem;display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#166534;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;border:1px solid #bbf7d0}.msa-hint{font-size:.75rem;color:var(--text-muted);margin-top:.75rem}.msa-label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem;display:block}.personnel-coming-soon-badge{font-size:.65rem;font-weight:700;color:#f97316;background:#ffedd5;padding:2px 6px;border-radius:4px}.personnel-coming-soon-text{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem 0}.personnel-coming-soon-note{font-size:.75rem;font-style:italic;margin-top:.5rem;color:var(--text-dim)}.personnel-form-field{margin-bottom:1.5rem}.personnel-form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:4px}.personnel-form-input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);box-sizing:border-box;background:var(--bg-card);color:var(--text-main)}.personnel-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.personnel-form-checkbox-row{margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-page);border-radius:8px;border:1px solid var(--border-subtle)}.personnel-form-checkbox{width:18px;height:18px;accent-color:#3b82f6}.personnel-form-checkbox-label{font-size:.95rem;color:var(--text-main);font-weight:600;cursor:pointer}.personnel-form-checkbox-hint{font-size:.75rem;color:var(--text-muted);margin-top:2px}.personnel-form-actions{display:flex;justify-content:flex-end;gap:1rem}.btn-cancel-outline{padding:.75rem 1.5rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-card);cursor:pointer;font-weight:600}.btn-submit-blue{padding:.75rem 1.5rem;border-radius:8px;background:#3b82f6;color:#fff;border:none;font-weight:700;cursor:pointer}.msa-disclaimer{font-size:.72rem;color:var(--text-muted);background:var(--bg-main);border:1px solid var(--border-subtle);padding:.75rem;border-radius:8px;margin-top:1rem;line-height:1.4;font-style:italic}.msa-disclaimer strong{color:var(--text-muted)}.structure-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.structure-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0}.structure-table{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-subtle);margin-bottom:2rem;overflow:hidden}.structure-table-summary{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.structure-table-summary-label{font-weight:700;color:var(--text-muted);font-size:.95rem}.structure-table-summary-value{font-weight:800;color:var(--danger-color);font-size:1.4rem;font-family:Inter,sans-serif}.structure-table-body{padding:1rem;max-height:350px;overflow-y:auto}.structure-table-body--tall{max-height:400px}.structure-table-empty{text-align:center;color:var(--text-dim);padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.structure-table-empty-icon{font-size:2.5rem;opacity:.4}.structure-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid var(--border-subtle)}.structure-row-label{font-weight:600;color:var(--text-main)}.structure-row-sub{font-size:.8rem;color:var(--text-muted)}.structure-row-right{display:flex;align-items:center;gap:1rem}.structure-row-value{font-weight:700;color:var(--text-main)}.structure-badge{font-size:.7rem;background:var(--bg-neutral);padding:2px 6px;border-radius:4px;color:var(--text-muted)}.structure-row-actions{display:flex;gap:.4rem}.btn-icon-outline{padding:.3rem .6rem;border:1px solid var(--border-strong);background:var(--bg-card);border-radius:6px;cursor:pointer}.btn-icon-danger{padding:.35rem .6rem;border-radius:6px;border:1px solid #fecaca;background:#fef2f2;color:var(--danger-color);cursor:pointer}.structure-traction-banner{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.structure-traction-text{color:var(--text-main);display:block;font-weight:600}.structure-traction-desc{font-size:.8rem;color:var(--text-muted)}.structure-traction-link{padding:6px 12px;border:1px solid #3b82f6;color:#3b82f6;border-radius:6px;text-decoration:none;font-size:.9rem;font-weight:600}.structure-amort-label{font-size:.65rem;color:var(--text-dim);text-transform:uppercase}.structure-form-field{margin-bottom:1.5rem}.structure-form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:4px}.structure-form-input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);box-sizing:border-box;background:var(--bg-card);color:var(--text-main)}.structure-form-select{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-main);box-sizing:border-box}.structure-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.structure-form-hint{font-size:.7rem;color:var(--text-dim);display:block;margin-top:4px}.structure-form-checkbox-row{margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.structure-row-header-bg{background:#3b82f605}.structure-form-checkbox{width:18px;height:18px}.structure-form-checkbox-label{font-size:.9rem;color:var(--text-main);font-weight:500}.structure-form-actions{display:flex;justify-content:flex-end;gap:1rem}.view-section-header{border-bottom:1px solid rgba(0,0,0,.05)}.tabs{display:flex;gap:.5rem;padding:1rem 1.5rem;background:#f8fafc66;border-bottom:1px solid var(--border-subtle)}.tabs .tab-btn{padding:.6rem 1.25rem;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.tabs .tab-btn:hover{background:#00000008;color:var(--text-main)}.tabs .tab-btn.active{background:var(--bg-card);color:var(--success-color);border-color:var(--border-subtle);box-shadow:0 4px 12px #0000000d}.tab-content{flex:1;padding:1.5rem;background:var(--bg-card)}.ref-table-wrapper{overflow-x:auto;background:var(--bg-card);border-radius:12px}.table-actions-top{margin-bottom:1rem}.ref-table th{text-align:left;padding:1rem .75rem;background:var(--bg-page);color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;border-bottom:2px solid var(--border-subtle)}.table-footer{margin-top:2rem;display:flex;justify-content:flex-end;padding-top:1.5rem;border-top:1px dashed var(--border-subtle)}.sync-secondary-btn{background:#f0fdf4;color:#059669;border:1px solid #bbf7d0;padding:.75rem 1.5rem;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.sync-secondary-btn:hover:not(:disabled){background:#dcfce7;transform:translateY(-2px);box-shadow:0 4px 12px #10b9811a}.ref-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem}.crop-ops-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000008;transition:transform .2s,box-shadow .2s;overflow:hidden}.crop-ops-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000000f}.card-header{padding:1.25rem 1.5rem;border-top:5px solid var(--border-strong);display:flex;justify-content:space-between;align-items:center;background:#f8fafc4d}.card-title{display:flex;align-items:center;gap:10px}.card-title h3{margin:0;font-size:1.1rem;font-weight:800;color:var(--text-main)}.card-totals{text-align:right}.total-label{font-size:.75rem;color:var(--text-muted);font-weight:600}.total-val{display:block;font-size:1rem;font-weight:800;color:#059669}.card-body{padding:1.25rem 1.5rem;flex:1}.ops-list{display:flex;flex-direction:column;gap:.75rem}.op-line{display:flex;align-items:center;gap:12px;padding:.75rem;background:var(--bg-page);border-radius:12px;border:1px solid transparent;transition:all .2s}.op-line:hover{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:0 2px 8px #0000000a}.op-line.disabled{opacity:.5;background:var(--bg-main);filter:grayscale(1)}.op-toggle{position:relative;width:20px;height:20px;cursor:pointer}.op-toggle input{position:absolute;opacity:0;cursor:pointer}.check-mark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:var(--bg-card);border:2px solid var(--border-strong);border-radius:6px;transition:all .2s}.op-toggle:hover .check-mark{border-color:#10b981}.op-toggle input:checked~.check-mark{background-color:#10b981;border-color:#10b981}.check-mark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.op-toggle input:checked~.check-mark:after{display:block}.op-name{flex:1;font-size:.9rem;font-weight:600;color:var(--text-main)}.op-cost{display:flex;align-items:center;gap:4px}.op-cost input{width:50px;border:1px solid var(--border-subtle);background:var(--bg-card);padding:4px 6px;border-radius:6px;font-size:.85rem;font-weight:800;color:#059669;text-align:right}.op-cost input:focus{outline:none;border-color:#10b981}.op-cost .unit{font-size:.75rem;color:var(--text-dim);font-weight:700}.card-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--bg-main);display:flex;gap:8px}.card-sync-btn{flex:1;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:.6rem;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s}.card-sync-btn:hover{background:#dcfce7}.card-reset-btn{width:40px;background:#fee2e2;color:var(--danger-color);border:1px solid #fee2e2;border-radius:10px;cursor:pointer;transition:all .2s;font-size:1rem}.card-reset-btn:hover{background:#fee2e2;border-color:#fca5a5}.sync-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:#f0fdf4;border-bottom:3px solid #dcfce7}.sync-info{display:flex;align-items:center;gap:.75rem;color:#166534;font-size:.85rem;font-weight:700}.sync-btn{background:#10b981;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:10px;font-weight:800;font-size:.85rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #10b98133}.ops-workspace{display:flex;gap:0;min-height:500px;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.ops-crop-list{width:220px;flex-shrink:0;border-right:1px solid var(--border-subtle);overflow-y:auto;background:var(--bg-page)}.ops-crop-list-header{padding:.6rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);background:var(--bg-main);border-bottom:1px solid var(--border-subtle)}.ops-crop-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;background:none;border:none;border-bottom:1px solid var(--bg-main);cursor:pointer;text-align:left;transition:background .15s}.ops-crop-item:hover{background:var(--bg-neutral)}.ops-crop-item.active{background:#dbeafe;border-left:3px solid #3b82f6}.ops-crop-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ops-crop-name{flex:1;font-size:.85rem;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-crop-total{font-size:.75rem;color:var(--text-muted);font-weight:600;white-space:nowrap}.ops-detail-panel{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.ops-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.ops-detail-title{display:flex;align-items:center;gap:.6rem;font-size:1rem}.ops-detail-total{font-size:.82rem;color:var(--text-muted);margin-left:.5rem}.ops-category-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:1rem 0 .4rem}.ops-category-label:first-child{margin-top:0}.admin-cat-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.admin-cat-tab{display:flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:10px;border:1.5px solid var(--border-subtle);background:var(--bg-card);cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-muted);transition:all .15s}.admin-cat-tab:hover{border-color:var(--primary-color);color:var(--text-main)}.admin-cat-tab.active{border-color:var(--primary-color);background:#0f766e12;color:var(--primary-color);font-weight:700}.op-row{display:flex;align-items:center;gap:.75rem;padding:.45rem .6rem;border-radius:8px;margin-bottom:3px;background:var(--bg-card);border:1px solid var(--bg-main);transition:background .15s}.op-row.op-disabled{opacity:.5}.op-row.op-overridden{border-left:3px solid #10b981}.op-toggle{display:flex;align-items:center;cursor:pointer}.op-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#10b981}.check-mark{display:none}.op-name{flex:1;font-size:.88rem;color:var(--text-main);display:flex;align-items:center;gap:.35rem}.op-override-badge{font-size:.75rem}.op-cost-cell{display:flex;align-items:center;gap:.3rem}.op-cost-input{width:72px;padding:.2rem .4rem;border:1px solid var(--border-subtle);border-radius:6px;font-size:.85rem;text-align:right;color:var(--text-main);background:var(--bg-card)}.op-cost-input:focus{outline:none;border-color:#10b981}.op-cost-input:disabled{background:var(--bg-page);color:var(--text-dim)}.op-unit{font-size:.75rem;color:var(--text-dim);white-space:nowrap}.op-drag-handle{color:var(--text-dim);cursor:grab;font-size:1.1rem;padding:0 4px;flex-shrink:0;-webkit-user-select:none;user-select:none}.op-drag-handle:active{cursor:grabbing}.op-row[draggable=true]{cursor:default}.op-row.op-dragging{opacity:.4}.op-row.op-drag-over{border-top:2px solid #3b82f6;background:#eff6ff}.ops-empty{color:var(--text-dim);font-size:.9rem;padding:2rem 0;text-align:center;font-style:italic}.ops-empty-select{padding-top:5rem}.add-op-picker{display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.op-remove-btn{background:none;border:none;cursor:pointer;opacity:.4;padding:0 4px;font-size:.9rem;flex-shrink:0;transition:opacity .15s}.op-remove-btn:hover{opacity:1}.ops-dnd-workspace{display:flex;min-height:280px;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.ops-source-panel{width:230px;flex-shrink:0;border-right:1px solid var(--border-subtle);background:var(--bg-page);display:flex;flex-direction:column}.ops-target-panel{flex:1;padding:.6rem;background:var(--bg-card);transition:background .15s;display:flex;flex-direction:column;gap:0}.ops-target-panel.ops-drop-active{background:#eff6ff}.ops-panel-label{padding:.35rem .75rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);background:var(--bg-main);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ops-source-list{flex:1;overflow-y:auto;padding:.4rem;display:flex;flex-direction:column;gap:.25rem}.op-catalog-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:7px;cursor:grab;transition:border-color .15s,background .15s;font-size:.85rem}.op-catalog-item:hover{border-color:var(--primary-color, #0f766e);background:#0f766e0a}.op-catalog-item:active{cursor:grabbing}.op-catalog-name{flex:1;font-weight:500;color:var(--text-main);font-size:.84rem}.op-catalog-cost{font-size:.73rem;color:var(--text-dim);white-space:nowrap}.ops-empty-catalog{color:var(--text-dim);font-size:.8rem;font-style:italic;text-align:center;padding:1.5rem .5rem;line-height:1.4}.ops-drop-hint{color:var(--text-dim);font-size:.85rem;font-style:italic;text-align:center;padding:2rem 1rem;border:2px dashed var(--border-subtle);border-radius:8px;margin:.4rem}.ops-cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:var(--primary-color, #0f766e);color:#fff;border-radius:9px;font-size:.63rem;font-weight:700;padding:0 4px;margin-left:2px}.json-textarea{width:100%;font-family:monospace;font-size:.85rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-page);color:var(--text-main);resize:vertical}.json-textarea:focus{outline:none;border-color:#3b82f6;background:var(--bg-card)}.field-helpText{margin-top:.4rem;font-size:.75rem;color:var(--text-muted);font-style:italic}.contracting-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.contracting-tabs{display:flex;background:var(--bg-main);padding:4px;border-radius:10px;border:1px solid var(--border-subtle);margin-bottom:1.5rem;width:fit-content}.contracting-tab{padding:8px 18px;border-radius:8px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-muted)}.contracting-tab.active{background:var(--bg-card);color:var(--text-main);font-weight:700;box-shadow:0 2px 6px #0000000f}.contracting-banner{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem;margin-bottom:2rem;color:#0369a1;font-size:.9rem}.crop-ref-card{margin-bottom:2rem;padding:1.5rem;background:var(--bg-page);border:1px solid var(--border-subtle)}.crop-ref-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem}.crop-ref-title-row{display:flex;align-items:center;gap:10px}.crop-ref-color-dot{width:14px;height:14px;border-radius:50%;display:inline-block;flex-shrink:0}.crop-ref-name{font-size:1.2rem;color:var(--text-main)}.crop-ref-badge{font-size:.75rem;padding:2px 10px;border-radius:20px;font-weight:700;margin-left:8px}.crop-ref-badge--active{background:#d1fae5;color:#059669}.crop-ref-badge--custom{background:#fbbf2426;color:#b45309;border:1px solid rgba(251,191,36,.4)}.crop-ref-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crop-ref-total-badge{font-size:.9rem;font-weight:700;color:var(--text-main);background:var(--bg-neutral);padding:4px 12px;border-radius:8px}.crop-ref-empty{color:var(--text-dim);font-style:italic;font-size:.85rem}.op-row{padding:8px 12px;margin-bottom:8px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:background .2s;border:1px solid var(--border-subtle);background:var(--bg-card);cursor:default}.op-row:hover{background:var(--bg-page)}.op-row--drag-target{border:2px dashed #3b82f6}.op-row-left{display:flex;gap:12px;align-items:center;flex:1}.op-drag-handle{color:var(--border-strong);cursor:grab;display:flex;align-items:center;padding-right:4px}.op-checkbox{width:1.1rem;height:1.1rem;accent-color:#10b981;cursor:pointer}.op-name{font-weight:700;color:var(--text-main);flex:1;font-size:.95rem}.op-fuel-hint{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-left:8px}.op-row-right{display:flex;gap:12px;align-items:center}.op-mode-selector{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:6px;padding:0 8px;background:var(--bg-card)}.op-mode-icon{font-size:.85rem}.op-mode-select,.op-machinery-select{border:none;background:transparent;padding:6px;font-size:.8rem;color:var(--text-muted);outline:none;cursor:pointer}.op-machinery-select{border-left:1px solid var(--border-strong);margin-left:4px}.op-select-option-custom{font-weight:700;color:#0284c7}.op-cost-wrapper{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:6px;padding:0;background:var(--bg-card);overflow:hidden}.op-cost-input{border:none;padding:6px 8px;text-align:right;width:60px;font-size:.85rem;color:var(--text-muted);outline:none;box-shadow:none}.op-cost-unit{padding-right:8px;font-size:.8rem;color:var(--text-dim)}.op-add-row{margin-top:1.5rem;border-top:1px dashed var(--border-strong);padding-top:1rem;display:flex;gap:10px;justify-content:space-between}.op-add-left{display:flex;gap:10px;flex:1}.op-add-select{width:300px;padding:8px;border-radius:6px;border:1px solid var(--border-strong);font-size:.85rem}.machinery-toolbar{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.machinery-category{margin-bottom:2rem}.machinery-category-title{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:1rem;border-bottom:1px solid var(--bg-main);padding-bottom:.5rem}.machinery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.machinery-card{padding:1rem;border:1px solid rgba(148,163,184,.15)}.machinery-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.machinery-card-name{color:var(--text-main);font-size:1.1rem}.machinery-card-hp{font-size:.8rem;color:#2563eb;font-weight:600}.machinery-card-actions{display:flex;gap:.5rem}.machinery-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.machinery-stat-label{color:var(--text-muted);font-size:.7rem;text-transform:uppercase}.machinery-stat-value{font-weight:600}.machinery-stat-value--green{color:#059669}.machinery-cost-box{margin-top:1rem;padding:.75rem;border-radius:8px}.machinery-cost-box--variable{background:#3b82f608;border:1px solid rgba(59,130,246,.1)}.machinery-cost-box--fixed{margin-top:.5rem;background:#94a3b808;border:1px solid rgba(148,163,184,.1)}.machinery-cost-box-title{font-size:.7rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;margin-bottom:.5rem;border-bottom:1px solid rgba(59,130,246,.1);padding-bottom:2px}.machinery-cost-box--fixed .machinery-cost-box-title{border-bottom-color:#94a3b81a}.machinery-cost-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.machinery-cost-item-label{font-size:.75rem;color:var(--text-muted)}.machinery-cost-item-value{font-weight:700;color:#059669}.machinery-cost-item-value--muted{font-weight:600;color:var(--text-muted)}.machinery-cost-item-value--fixed{font-weight:500;color:var(--text-muted)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.form-group-gap{display:grid;gap:1rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px;color:var(--text-muted)}.form-input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);box-sizing:border-box;background:var(--bg-card);color:var(--text-main)}.form-hint{font-size:.7rem;color:var(--text-dim)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.contracting-empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.selection-page{min-height:100vh;width:100%;background-color:var(--bg-page);font-family:var(--font-family);position:relative;overflow-x:hidden}.selection-container{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;max-width:1000px;margin:0 auto;box-sizing:border-box}.selection-logout-btn{position:absolute;right:1.5rem;top:1.5rem;z-index:100;display:flex;align-items:center;gap:.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);padding:.6rem 1rem;border-radius:12px;color:var(--text-muted);font-weight:600;cursor:pointer;box-shadow:var(--card-shadow)}.selection-logout-btn:hover{background:var(--bg-card);color:var(--danger-color);border-color:var(--danger-color)}.selection-logout-btn .logout-label{font-size:.85rem}.logo-img{height:clamp(32px,8vw,72px);width:auto;object-fit:contain;margin:0}.logo-text{font-family:var(--font-family);font-size:clamp(1.2rem,5vw,2.5rem);letter-spacing:.12em;margin:0}.brand-cera{color:var(--brand-forest)}.brand-via{color:var(--text-main)}.selection-subtitle{color:var(--text-muted);font-size:1.1rem;margin-bottom:2rem}.loader-container{text-align:center}.loader{width:48px;height:48px;border:5px solid var(--border-subtle);border-bottom-color:var(--primary-color);border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.farm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%;margin-top:2rem}.empty-state{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--text-muted)}.farm-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:var(--card-shadow)}.farm-card:hover{transform:translateY(-5px);border-color:var(--primary-color);box-shadow:0 12px 30px var(--primary-glow)}.farm-icon{font-size:3rem;margin-bottom:.5rem}.farm-name{font-size:1.25rem;font-weight:700;color:var(--text-main)}.farm-plan{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.farm-card-actions{display:flex;gap:.5rem;margin-top:.5rem;width:100%}.btn-rename{flex:0;padding:.4rem .7rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-muted);cursor:pointer;font-size:.85rem;transition:all .2s}.btn-rename:hover{background:var(--bg-main);border-color:var(--border-strong)}.btn-manage{flex:1;padding:.4rem .7rem;border-radius:8px;border:none;background:var(--primary-color);color:#fff;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.btn-manage:hover{background:var(--primary-dark)}.create-btn{background:var(--primary-color);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;margin-top:3rem;transition:all .3s;box-shadow:0 4px 15px var(--primary-glow)}.create-btn:hover{transform:scale(1.02);filter:brightness(1.1);box-shadow:0 6px 20px #8a9a5b66}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-confirm{padding:.8rem 1.5rem;border-radius:12px;border:none;background:var(--primary-color);color:#fff;cursor:pointer;font-weight:600;box-shadow:0 4px 10px var(--primary-glow)}.btn-confirm:disabled{opacity:.7}.selection-page .background-globes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.selection-page .globe{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(100px);opacity:.2}.selection-page .globe-1{background:var(--primary-glow);top:-200px;left:-200px}.selection-page .globe-2{background:var(--bg-neutral);bottom:-200px;right:-200px}.selection-page .globe-3{background:var(--primary-glow);top:40%;right:-100px}.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-muted)}.input-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:1rem;transition:border-color .2s;box-sizing:border-box;background:var(--bg-input);color:var(--text-main)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.btn-cancel{padding:.8rem 1.5rem;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-weight:600;transition:background .2s}.btn-cancel:hover{background:var(--bg-main)}.farm-card.deactivated{background:var(--bg-main);border-color:var(--border-strong);cursor:default;transform:none!important;box-shadow:none!important;opacity:.8}.farm-card.deactivated .farm-name{color:var(--text-dim);text-decoration:line-through}.deactivated-badge{background:var(--bg-main);color:var(--text-muted);padding:.2rem .5rem;border-radius:4px;font-weight:700;font-size:.75rem;border:1px solid var(--border-strong)}.deactivated-info{margin-top:.5rem;padding:.5rem;background:#ef44440d;border-radius:8px;width:100%}.deactivated-info .countdown{font-size:.75rem;color:var(--danger-color);font-weight:600}.btn-reactivate{flex:1;padding:.4rem .7rem;border-radius:8px;border:1px solid var(--success-color);background:var(--bg-card);color:var(--success-color);cursor:pointer;font-weight:700;font-size:.85rem;transition:all .2s}.btn-reactivate:hover:not(:disabled){background:var(--success-color);color:#fff}.btn-reactivate:disabled{opacity:.5;cursor:wait}@media (max-width: 768px){.selection-container{justify-content:flex-start;padding:2rem 1.25rem;min-height:auto}.selection-header{margin-bottom:2.5rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.logo-img{height:clamp(32px,8vw,72px);width:auto}.logo-text{font-size:clamp(1.2rem,5vw,2.5rem);letter-spacing:.12em}.selection-logout-btn{top:1rem;right:1rem;padding:.5rem .75rem}.selection-logout-btn .logout-label{display:none}.farm-grid{grid-template-columns:1fr;gap:.85rem;margin-top:.75rem}.farm-card{flex-direction:row;flex-wrap:wrap;align-items:center;padding:1rem 1.1rem;gap:.4rem;text-align:left;border-radius:16px}.farm-card:hover{transform:none}.farm-icon{font-size:2rem;margin-bottom:0;flex-shrink:0}.farm-name{font-size:1.05rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-plan{font-size:.72rem;margin-bottom:0;width:100%;order:3;padding-left:2.8rem}.deactivated-info{width:100%;order:4;margin-top:0}.farm-card-actions{width:100%;order:5;gap:.5rem;margin-top:.25rem}.btn-manage,.btn-reactivate{padding:.55rem .9rem;font-size:.9rem;min-height:40px}.btn-rename{min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center}.create-btn{position:sticky;bottom:1rem;width:100%;margin-top:1rem;padding:.95rem 1.5rem;font-size:1rem;z-index:100;border-radius:14px;box-shadow:0 8px 24px #8a9a5b59}.selection-page .globe{width:300px;height:300px;filter:blur(60px)}.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;border-radius:20px 20px 0 0;padding:1.75rem 1.25rem 2rem;animation:modalSlideUp .25s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{font-size:1.2rem;margin-bottom:1.25rem}.modal-actions{flex-wrap:wrap;gap:.75rem}.btn-confirm,.btn-cancel{flex:1;min-width:0;padding:.85rem 1rem;font-size:.95rem;min-height:44px}.section-block{margin-top:1rem}.student-grid{grid-template-columns:1fr;gap:.75rem;padding:.75rem}.class-header{padding:.85rem 1rem}}.section-block{width:100%;margin-top:2rem}.section-title{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color);display:flex;align-items:center;gap:.5rem}.student-section{margin-top:3rem}.class-group{margin-bottom:1rem;border-radius:14px;overflow:hidden;border:1px solid var(--border-accent)}.class-header{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.2rem;background:var(--primary-glow);cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.class-header:hover{background:var(--border-accent)}.class-name-badge{font-weight:700;font-size:1rem;color:var(--brand-forest);flex:1;display:flex;align-items:center;gap:.4rem}.class-name-badge:before{content:"🎓"}.class-count{font-size:.82rem;color:var(--text-muted);background:var(--border-accent);padding:.2rem .6rem;border-radius:20px;font-weight:600}.class-chevron{font-size:.7rem;color:var(--text-muted);transition:transform .2s}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem;background:var(--bg-card)}.student-card{padding:1.25rem}.student-farm-label{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.onboarding-section{padding:3rem}.onboarding-banner{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;margin:1rem 1.5rem;padding:1.5rem;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:1.5rem;animation:slideFadeIn .4s ease-out forwards}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.onboarding-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-main);display:flex;align-items:center;gap:.5rem}.onboarding-subtitle{margin:1rem 0 0;color:var(--text-muted);font-size:1.1rem}.onboarding-progress-badge{background:var(--bg-neutral);color:var(--text-muted);padding:6px 12px;border-radius:20px;font-weight:700;font-size:.85rem;border:1px solid var(--border-subtle)}.onboarding-progress-bar-container{height:8px;background:var(--bg-neutral);border-radius:4px;overflow:hidden}.onboarding-progress-bar{height:100%;background:#10b981;border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.onboarding-steps{display:flex;gap:1rem;align-items:stretch;padding-bottom:1rem}.onboarding-step-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:1.5rem;padding:0 .5rem;flex-shrink:0}.onboarding-step-card{flex:1;min-width:0;min-height:140px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem;display:flex;flex-direction:column;transition:all .2s;cursor:pointer;text-decoration:none;color:inherit}.onboarding-step-card:hover{background:var(--bg-neutral);transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--border-strong)}.onboarding-step-card.is-completed{background:#ecfdf5;border-color:#a7f3d0;cursor:pointer}.onboarding-step-card.is-locked{opacity:.45;cursor:not-allowed;pointer-events:none}.onboarding-step-card.is-locked:hover{transform:none;box-shadow:none;background:var(--bg-page);border-color:var(--border-subtle)}.onboarding-step-card.is-active{border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.onboarding-step-card.is-completed:hover{background:#d1fae5;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.onboarding-step-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.onboarding-step-number{font-size:.85rem;font-weight:700;color:var(--text-dim);text-transform:uppercase}.onboarding-step-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 2px 4px #0000000d;border:1px solid var(--border-subtle);flex-shrink:0}.onboarding-step-card.is-completed .onboarding-step-icon{background:#10b981;color:#fff;border-color:#10b981}.onboarding-step-content{display:flex;flex-direction:column;gap:.5rem}.onboarding-step-title{font-weight:700;font-size:1.15rem;color:var(--text-main);margin-bottom:.25rem}.onboarding-step-card.is-completed .onboarding-step-title{color:#064e3b}.onboarding-step-desc{font-size:.9rem;color:var(--text-muted);line-height:1.4}.onboarding-step-card.is-completed .onboarding-step-desc{color:#047857}.onboarding-celebration{text-align:center;padding:3rem;background:#ecfdf5;border-radius:10px;border:1px dashed #34d399;color:#065f46}.onboarding-celebration h3{margin:0 0 .5rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.onboarding-celebration p,.onboarding-celebration-desc{margin:0 0 2rem;font-size:1.1rem;opacity:.9}.onboarding-address-form{padding:1.25rem 1.5rem;background:var(--bg-neutral);border-radius:10px;border:1px solid #a7f3d0;display:flex;flex-direction:column;gap:.625rem;margin-top:.25rem}.onboarding-address-label{font-weight:700;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.onboarding-address-row{display:flex;gap:.75rem}.onboarding-address-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-main);font-size:1rem;transition:border-color .2s}.onboarding-address-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b98126}.onboarding-address-input:disabled{opacity:.6}.onboarding-address-btn{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s;white-space:nowrap}.onboarding-address-btn:hover:not(:disabled){background:#059669}.onboarding-address-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-address-error{color:#ef4444;font-size:.875rem;margin:0}[data-theme=dark] .onboarding-step-card{background:var(--bg-card);border-color:#94a3b840}[data-theme=dark] .onboarding-step-card:hover{background:var(--bg-neutral);border-color:#94a3b866}[data-theme=dark] .onboarding-step-number,[data-theme=dark] .onboarding-step-desc,[data-theme=dark] .onboarding-subtitle{color:var(--text-dim)}[data-theme=dark] .onboarding-address-form{border-color:#10b9814d}[data-theme=dark] .onboarding-address-input{background:var(--bg-neutral);border-color:#94a3b840;color:var(--text-main)}[data-theme=dark] .onboarding-step-card.is-active{box-shadow:0 0 0 2px #10b9814d}[data-theme=dark] .onboarding-step-card.is-completed{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .onboarding-step-card.is-completed:hover{background:#10b98126}[data-theme=dark] .onboarding-step-card.is-completed .onboarding-step-title{color:#6ee7b7}[data-theme=dark] .onboarding-step-card.is-completed .onboarding-step-desc{color:#34d399}[data-theme=dark] .onboarding-celebration{background:#10b98114;border-color:#34d39959;color:#6ee7b7}@media (max-width: 768px){.onboarding-section{padding:1rem}.onboarding-banner{margin:0;padding:1rem;gap:1rem}.onboarding-header{gap:.75rem;margin-bottom:.5rem}.onboarding-steps{flex-direction:column;padding-bottom:0}.onboarding-step-arrow{display:none}.onboarding-step-card{min-height:auto}.onboarding-step-header{margin-bottom:.5rem}.onboarding-celebration{padding:1.5rem 1rem}}.onboarding-modal-box{width:90%;max-width:500px;background:var(--bg-card);padding:3rem;text-align:center;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;animation:scaleUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.celebration-icon{font-size:5rem;margin-bottom:1.5rem}.celebration-title{font-size:2.25rem;font-weight:800;color:var(--text-main);margin-bottom:1rem}.celebration-text{font-size:1.1rem;color:var(--text-muted);line-height:1.6;margin-bottom:2rem}.celebration-stats{display:flex;justify-content:center;gap:3rem;margin-bottom:2.5rem;padding:1.5rem;background:var(--bg-neutral);border-radius:16px}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:800;color:#10b981}.stat-label{font-size:.85rem;color:var(--text-dim);font-weight:600;text-transform:uppercase}.celebration-btn{width:100%;padding:1.25rem;font-size:1.1rem;font-weight:700}.cmp-header-card{margin-bottom:1.5rem}.cmp-explainer{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-page);border-radius:10px;border:1px solid var(--border-subtle)}.cmp-explainer__block{display:flex;gap:.75rem;align-items:flex-start}.cmp-explainer__icon{font-size:1.4rem;flex-shrink:0;margin-top:.1rem}.cmp-explainer__block strong{display:block;font-size:.875rem;font-weight:700;color:var(--text-main);margin-bottom:.3rem}.cmp-explainer__block p{margin:0;font-size:.825rem;color:var(--text-muted);line-height:1.55}@media (max-width: 700px){.cmp-explainer{grid-template-columns:1fr}}.cmp-selector{display:flex;flex-direction:column;gap:.75rem}.cmp-selector__hint{margin:0;font-size:.85rem;color:var(--text-muted)}.cmp-selector__pills{display:flex;flex-wrap:wrap;gap:.5rem}.cmp-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:999px;border:1.5px solid var(--glass-border, #e2e8f0);background:var(--bg-page);color:var(--text-main);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .18s ease}.cmp-pill:hover:not(.cmp-pill--disabled){border-color:var(--text-dim);background:var(--bg-main)}.cmp-pill--active{background:color-mix(in srgb,var(--pill-color, #6366f1) 12%,white);border-color:var(--pill-color, #6366f1);color:color-mix(in srgb,var(--pill-color, #6366f1) 80%,#0f172a);font-weight:600}.cmp-pill--disabled{opacity:.45;cursor:not-allowed}.cmp-pill__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cmp-pill__spinner{font-size:.75rem;animation:cmp-spin 1s linear infinite}@keyframes cmp-spin{to{transform:rotate(360deg)}}.cmp-table-card{overflow-x:auto}.cmp-grid{display:grid;gap:0;border-bottom:1px solid var(--bg-main)}.cmp-grid:last-child{border-bottom:none}.cmp-grid--total{background:var(--bg-page)}.cmp-grid--indent .cmp-cell--label{padding-left:1.75rem;font-size:.85rem;color:var(--text-muted)}.cmp-sep-row{border-bottom:none}.cmp-sep{grid-column:1;padding:.9rem 1rem .4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim)}.cmp-sep-filler{background:transparent}.cmp-cell{padding:.6rem 1rem;display:flex;align-items:center;min-width:0}.cmp-cell--label{font-size:.875rem;color:var(--text-main)}.cmp-cell--bold{font-weight:700;color:var(--text-main)}.cmp-cell--header{flex-direction:column;align-items:flex-start;padding:1rem;gap:.2rem;border-left:1px solid var(--bg-main)}.cmp-cell--value{font-size:.9rem;font-weight:500;font-variant-numeric:tabular-nums;justify-content:flex-end;border-left:1px solid var(--bg-main)}.cmp-grid--total .cmp-cell--value{font-weight:700}.cmp-scenario-name{font-size:.95rem;font-weight:700;color:var(--text-main)}.cmp-scenario-desc{font-size:.78rem;color:var(--text-muted)}.cmp-loading-inline,.cmp-error-inline{font-size:.78rem;color:var(--text-dim);font-style:italic}.cmp-error-inline{color:var(--danger-color)}.cmp-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.cmp-modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-main)}.cmp-modal-close{background:none;border:none;font-size:1.25rem;color:var(--text-dim);cursor:pointer;line-height:1;padding:.25rem;border-radius:4px;transition:color .15s}.cmp-modal-close:hover{color:var(--text-main)}.cmp-btn-sm{padding:.3rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .15s}.cmp-btn-outline{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-muted)}.cmp-btn-outline:hover{border-color:var(--text-dim);background:var(--bg-page)}.cmp-btn-danger{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.cmp-btn-danger:hover:not(:disabled){background:#ef4444;border-color:var(--danger-color);color:#fff}.cmp-btn-danger:disabled{opacity:.5;cursor:not-allowed}.cmp-delete-body{margin:0;padding:1rem 0;font-size:.9rem;color:var(--text-main);line-height:1.6}.cmp-delete-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--bg-main);margin-top:.5rem}.cmp-manager-create--alt{background:var(--bg-page);border-radius:8px;margin-top:.5rem}.cmp-manager-modal{padding:1.75rem}.cmp-manager-list{padding:.75rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;max-height:40vh;overflow-y:auto;border-bottom:1px solid var(--bg-main)}.cmp-manager-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .25rem;border-bottom:1px solid var(--bg-page)}.cmp-manager-name{flex:1;font-size:.9rem;font-weight:500}.cmp-manager-actions{display:flex;gap:.4rem}.cmp-manager-create{padding:1rem 1.5rem;border-top:1px solid var(--bg-main)}.cmp-manager-create h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-main)}.cmp-form-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.cmp-input{flex:1;min-width:130px;padding:.45rem .75rem;border:1.5px solid var(--border-subtle);border-radius:6px;font-size:.875rem;outline:none;transition:border-color .15s}.cmp-input:focus{border-color:#6366f1}.cmp-color-input{width:38px;height:36px;padding:2px;border:1.5px solid var(--border-subtle);border-radius:6px;cursor:pointer;background:none}.cmp-loading{padding:1rem 0;color:var(--text-dim);font-size:.875rem}.text-green{color:#16a34a}.text-red{color:#dc2626}@media (max-width: 768px){.cmp-cell--label{font-size:.8rem}.cmp-cell--value{font-size:.82rem}}.contact-layout{display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start}.contact-sidebar{display:flex;flex-direction:column;gap:1.75rem}.contact-meta{display:flex;flex-direction:column;gap:1.1rem}.contact-meta-item{display:flex;align-items:flex-start;gap:.75rem}.meta-icon{font-size:1.05rem;line-height:1.5;flex-shrink:0}.meta-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:.06em;margin-bottom:.15rem}.meta-value{color:var(--brand-forest);font-weight:600;font-size:.92rem}.contact-back a{font-size:.83rem;color:var(--text-muted);text-decoration:none;transition:color .2s}.contact-back a:hover{color:var(--primary-color)}.contact-main{display:flex;flex-direction:column;gap:2rem}.contact-faq{display:flex;flex-direction:column;margin-top:1.5rem;padding-top:2.5rem;border-top:1px solid var(--glass-border)}.faq-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:700;margin:0 0 .75rem}.faq-item{border:1px solid var(--glass-border);border-radius:10px;margin-bottom:.4rem;overflow:hidden;transition:box-shadow .2s}.faq-item[open]{box-shadow:0 2px 10px #0000000d}.faq-question{padding:.8rem 1rem;font-weight:600;font-size:.88rem;color:var(--text-main);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;gap:1rem}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"▸";color:var(--text-muted);font-size:.75rem;flex-shrink:0;transition:transform .2s}details[open] .faq-question:after{transform:rotate(90deg)}.faq-answer{padding:.75rem 1rem .85rem;font-size:.86rem;color:var(--text-muted);margin:0;line-height:1.65;border-top:1px solid var(--glass-border)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:600;color:var(--text-main);font-size:.83rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border-radius:10px;border:1px solid var(--glass-border);background:var(--bg-color);font-family:inherit;font-size:.95rem;color:var(--text-main);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.form-group textarea{min-height:130px;resize:vertical}.btn-contact-primary{padding:.85rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 12px var(--primary-glow);align-self:center}.btn-contact-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-contact-primary:disabled{opacity:.7;cursor:not-allowed}.contact-success{background:#f0fdf4;border:1px solid #bbf7d0;padding:2rem;border-radius:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.success-icon-large{font-size:2.5rem}.contact-success h3{color:#166534;margin:0;font-size:1.15rem}.contact-success p{color:#15803d;font-size:.9rem;margin:0}.spam-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:.5rem .85rem;color:#92400e!important;font-size:.83rem!important}.btn-secondary-sm{background:var(--bg-card);color:#15803d;border:1px solid #bbf7d0;padding:.5rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.85rem;margin-top:.25rem;transition:background .2s}.btn-secondary-sm:hover{background:#f0fdf4}.contact-form .error-message{background:#fef2f2;color:var(--danger-color);padding:.85rem 1rem;border-radius:10px;font-size:.88rem;border:1px solid #fee2e2}@media (max-width: 860px){.contact-layout{grid-template-columns:1fr;gap:2rem}.contact-sidebar{position:static;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--glass-border)}.contact-meta{flex-direction:row;flex-wrap:wrap;gap:1rem 2rem}.contact-tagline,.contact-back{width:100%}}@media (max-width: 560px){.form-row{grid-template-columns:1fr}.btn-contact-primary{align-self:stretch;text-align:center}}.pro-member-page{display:flex;flex-direction:column;gap:2rem}.pro-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center}.pro-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#05966914,#10b9810a);pointer-events:none}.pro-badge{background:linear-gradient(135deg,#059669,#065f46);color:#fff;padding:6px 18px;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;box-shadow:0 4px 16px #0596694d}.pro-title{font-size:2.4rem;font-weight:800;color:var(--text-main);margin:0 0 1rem}.pro-highlight{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pro-subtitle{color:var(--text-muted);font-size:1.05rem;max-width:520px;line-height:1.6;margin-bottom:2.5rem}.pro-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-portal{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #10b98159;transition:transform .2s ease,box-shadow .2s ease}.btn-portal:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.btn-portal:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-sub{background:none;border:1.5px solid var(--border-subtle);border-radius:10px;padding:12px 24px;font-size:.9rem;color:var(--text-dim);cursor:pointer;transition:color .2s,border-color .2s}.btn-cancel-sub:hover{color:var(--danger-color);border-color:#fca5a5}.pro-perks{padding:2rem}.perks-title{font-size:1.4rem;font-weight:700;color:var(--text-main);margin:0 0 1.5rem}.perks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.perk-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:12px;background:#fff9;border:1px solid rgba(16,185,129,.15);transition:transform .2s ease,box-shadow .2s ease}.perk-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #10b9811a}.perk-icon{font-size:2rem;flex-shrink:0}.perk-info strong{display:block;color:var(--text-main);font-size:.95rem;margin-bottom:.25rem}.perk-info p{color:var(--text-muted);font-size:.85rem;margin:0;line-height:1.5}.cancel-modal{max-width:440px;text-align:center;padding:2.5rem}.cancel-modal-icon{font-size:3rem;margin-bottom:1rem}.cancel-modal h3{font-size:1.3rem;color:var(--text-main);margin-bottom:.75rem}.cancel-modal p{color:var(--text-muted);line-height:1.6;margin-bottom:2rem}.cancel-modal-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.premium-hero{display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;min-height:80vh}.premium-badge-highlight{background:linear-gradient(135deg,#059669,#065f46);color:#fff;padding:6px 16px;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;box-shadow:0 4px 12px #05966933}.pricing-container{display:flex;gap:2rem;width:100%;max-width:900px;margin-top:1rem;justify-content:center}.pricing-card{background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:2.5rem;flex:1;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000000d}.pricing-card--featured{background:#fffc;border:2px solid #059669;position:relative;box-shadow:0 10px 40px #0596691a}.pricing-header h3{margin:0;font-size:1.4rem;color:var(--text-main)}.price{font-size:2.5rem;font-weight:800;color:var(--text-main);margin:1rem 0}.price span{font-size:1rem;color:var(--text-muted);font-weight:400}.pricing-features{list-style:none;padding:0;margin:2rem 0;flex-grow:1}.pricing-features li{padding:.75rem 0;color:var(--text-muted);font-size:.95rem;border-bottom:1px solid rgba(0,0,0,.05)}.pricing-features li:last-child{border-bottom:none}.premium-btn{padding:12px;font-weight:700;background:linear-gradient(135deg,#10b981,#059669)!important;border:none;box-shadow:0 4px 15px #10b9814d}.pricing-toggle{display:flex;background:var(--bg-main);padding:4px;border-radius:99px;margin:1rem 0;gap:4px}.pricing-toggle button{flex:1;border:none;background:none;padding:6px 16px;border-radius:99px;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s}.pricing-toggle button.active{background:var(--bg-card);color:#059669;box-shadow:0 2px 8px #0000000d}.savings{display:block;font-size:.9rem;color:#10b981;font-weight:600;margin-top:-.5rem}.premium-footer{margin-top:3rem;color:var(--text-dim);font-size:.85rem}@media (max-width: 768px){.pricing-container{flex-direction:column}.pro-title{font-size:1.8rem}.perks-grid{grid-template-columns:1fr}}.restricted-page{display:flex;justify-content:center;align-items:center;min-height:60vh;text-align:center}.restricted-card{max-width:500px;padding:3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.restricted-icon{font-size:4rem}.restricted-card h2{margin:0;color:var(--text-main)}.restricted-card p{color:var(--text-muted);line-height:1.6}.edu-discovery-page{padding:1rem}.edu-discovery-card{max-width:720px;margin:0 auto;padding:3rem 2rem;text-align:center}.edu-discovery-badge{display:inline-block;background:var(--edu-color, #4f46e5);color:#fff;font-size:.65rem;font-weight:900;padding:4px 12px;border-radius:6px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.5rem}.edu-discovery-card h2{font-size:1.8rem;margin:0 0 1rem;color:var(--text-main)}.edu-discovery-card>p{color:var(--text-muted);line-height:1.6;margin:0 auto 2.5rem;max-width:520px}.edu-discovery-offers{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;text-align:left}@media (max-width: 600px){.edu-discovery-offers{grid-template-columns:1fr}.edu-discovery-card{padding:2rem 1.25rem}}.edu-offer-card{padding:1.5rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card);display:flex;flex-direction:column;gap:.5rem}.edu-offer-card--featured{border-color:#4f46e54d;background:#4f46e505}.edu-ja-badge{font-size:.65rem;font-weight:800;color:#d97706;background:#fffbeb;border:1px solid #fde68a;padding:2px 8px;border-radius:5px;display:inline-block;align-self:flex-start}.edu-offer-icon{font-size:2rem}.edu-offer-card h3{font-size:1rem;font-weight:700;margin:0;color:var(--text-main)}.edu-offer-card p{font-size:.88rem;color:var(--text-muted);margin:0;flex:1;line-height:1.5}.btn-edu-discover{display:inline-block;margin-top:.75rem;padding:.6rem 1.2rem;border:1px solid var(--edu-color, #4f46e5);color:var(--edu-color, #4f46e5);border-radius:8px;font-weight:700;font-size:.9rem;text-decoration:none;transition:all .2s;align-self:flex-start}.btn-edu-discover:hover{background:#4f46e50f}.btn-edu-discover--primary{background:var(--edu-color, #4f46e5);color:#fff}.btn-edu-discover--primary:hover{background:#4338ca}.btn-back-to-class{display:inline-block;margin-top:.5rem;color:var(--text-dim);text-decoration:none;font-size:.9rem;font-weight:600;transition:color .2s}.btn-back-to-class:hover{color:var(--text-muted)}.stock-item-badge{font-size:.75rem;background:#0000000d;padding:2px 6px;border-radius:4px;margin-top:4px;color:var(--text-muted)}.stock-comparison-view{padding:1rem 0}.stock-comparison-view .financial-mini-table th,.stock-comparison-view .financial-mini-table td{white-space:nowrap}.stock-comparison-view .financial-mini-table th,.stock-comparison-view .financial-mini-table td{text-align:left}.stock-comparison-view .financial-mini-table td:nth-child(4){color:var(--text-muted)}.stock-comparison-view .financial-mini-table tbody tr:hover td{background:var(--bg-main, #f8fafc)}.badge{padding:4px 8px;border-radius:99px;font-size:.8rem;font-weight:600}.badge--success{background:var(--success-bg);color:#059669}.badge--danger{background:var(--danger-bg);color:var(--danger-color)}.text-green{color:#10b981}.info-alert{background:var(--info-bg);border-left:4px solid var(--info-color);padding:1rem;border-radius:4px;color:var(--info-color);font-size:.9rem}.ephy-autocomplete{position:relative;width:100%}.ephy-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#ecfdf5;color:#059669;padding:2px 6px;border-radius:4px;font-size:.75rem;pointer-events:none}.ephy-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:50;margin-top:-2px}.ephy-result-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--bg-main)}.ephy-result-item:hover{background:var(--bg-page)}.ephy-result-name{font-weight:500;color:var(--text-main);font-size:.9rem}.ephy-result-meta{font-size:.75rem;color:var(--text-muted);margin-top:2px}.fin-header-card{margin-bottom:1.5rem}.fin-header-card .view-section-header{margin-bottom:.5rem}.fin-balance-layout{animation:fadeInBS .4s ease-out;display:flex;flex-direction:column;gap:1.5rem}.fin-balance-params{padding:1.5rem}.fin-params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.25rem}@media (max-width: 900px){.fin-params-grid{grid-template-columns:1fr}}.fin-param-field label{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.fin-param-field input{width:100%;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:10px;padding:.75rem 1rem;color:var(--text-main);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.fin-param-field input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.fin-params-actions{display:flex;align-items:center;gap:1rem}.fin-param-hint{font-size:.8rem;color:var(--text-muted);margin-top:.35rem}.fin-params-msg{font-size:.9rem;padding:.4rem .75rem;border-radius:6px}.fin-params-msg--success{color:#4ade80;background:#4ade801a}.fin-params-msg--error{color:#f87171;background:#f871711a}@keyframes fadeInBS{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fin-main-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}@media (max-width: 1100px){.fin-main-layout{grid-template-columns:1fr}}.fin-details-col{display:flex;flex-direction:column;gap:1.5rem}.fin-details-merged-card{padding:1.5rem}.fin-kpi-strip{display:flex;margin-top:1.25rem;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;width:100%}.fin-kpi-chip{display:flex;flex-direction:column;gap:2px;padding:.75rem 1.25rem;background:transparent;border:none;border-right:1px solid var(--border-subtle);cursor:pointer;transition:all .2s;text-align:left;flex:1;min-width:0}.fin-kpi-chip:last-child{border-right:none}.fin-kpi-chip:hover{background:var(--bg-card);box-shadow:inset 0 0 12px #10b9810d}.fin-kpi-chip__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.fin-kpi-chip__value{font-size:1.05rem;font-weight:800;color:var(--text-main)}.fin-kpi-chip__sub{font-size:.7rem;color:var(--text-dim)}.chip-green{color:#10b981!important}.chip-red{color:var(--danger-color)!important}.chip-orange{color:var(--warning-color)!important}.fin-cascade-card{padding:1.5rem}.fin-sep{font-size:.75rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:1.5rem 0 .6rem;display:flex;align-items:center;gap:.75rem}.fin-sep:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.fin-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;font-size:.95rem;border-bottom:1px solid var(--border-subtle);width:100%;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left;cursor:pointer;border-radius:8px;transition:all .2s;color:var(--text-main)}.fin-row:hover{background:var(--bg-page)}div.fin-row{cursor:default}div.fin-row:hover{background:transparent}.fin-row__actions{display:flex;align-items:center;gap:.5rem}.fin-row__hint{font-size:.75rem;opacity:.5}.fin-row--indent{padding-left:1.25rem;font-size:.85rem;color:var(--text-muted);cursor:default}.fin-row--indent:hover{background:transparent}.fin-row--total{font-size:1rem;font-weight:600;border-bottom:2px solid var(--border-subtle)}.fin-row--subtotal{background:var(--bg-page);font-weight:700;border-radius:8px;margin:.4rem 0;border-bottom:none}.fin-row--subtotal:hover{background:var(--bg-main)}.fin-row--ebe{font-weight:800;font-size:.95rem;color:#059669;background:#ecfdf5;border-radius:10px;padding:.85rem .75rem;margin:.75rem 0;border:1px solid #a7f3d0}.fin-row--ebe:hover{background:#d1fae5}.fin-row--net{font-weight:700;font-size:.95rem;background:var(--bg-page);border-radius:8px;margin:.4rem 0;border:none;cursor:default}.fin-row--net:hover{background:var(--bg-page)}.fin-row--final{font-weight:800;font-size:1rem;background:var(--text-main);color:#fff;border-radius:10px;padding:.9rem .75rem;margin-top:.75rem;border:none}.fin-row--final:hover{background:rgba(var(--primary-rgb),.08)}.fin-row--final .text-green{color:#34d399!important}.fin-row--final .text-red{color:#f87171!important}.fin-row--final .fin-row__hint{color:#fff6}.text-red{color:var(--danger-color)}.text-green{color:var(--success-color)}.text-blue{color:var(--edu-color)}.text-muted{color:var(--text-muted)}.text-orange{color:var(--warning-color)}.financial-mini-table{width:100%;border-collapse:collapse;font-size:.88rem}.financial-mini-table th{text-align:left;padding:6px 8px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);font-size:.8rem}.financial-mini-table td{padding:8px;border-bottom:1px solid var(--bg-main)}.crop-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.profitability-item{display:flex;justify-content:space-between;padding:.55rem .5rem;font-size:.9rem;border-bottom:1px solid var(--bg-main)}.profit-label{color:var(--text-muted)}.profit-value{font-weight:700}.financial-modal-table{width:100%;border-collapse:collapse;font-size:.92rem}.financial-modal-table th{text-align:left;padding:6px 10px;color:var(--text-muted);font-size:.8rem;border-bottom:2px solid var(--border-subtle)}.financial-modal-table td{padding:9px 10px;border-bottom:1px solid var(--bg-main)}.financial-modal-table td:last-child{text-align:right;font-weight:600}.financial-modal-table th:last-child{text-align:right}.tfoot-total td{padding:10px;font-weight:800;font-size:1rem;border-top:2px solid var(--border-subtle);border-bottom:none}.modal-note{margin-top:1rem;font-size:.83rem;color:var(--text-muted);line-height:1.5}.modal-alert{margin-top:1.25rem;padding:.85rem 1rem;border-radius:8px;font-size:.88rem;line-height:1.5}.alert-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-warn{background:#fffbeb;border:1px solid #fcd34d;color:#b45309}.fin-cashflow-layout{display:flex;flex-direction:column;gap:1.25rem;animation:fadeInBS .4s ease-out}.cashflow-note{padding:.85rem 1.1rem;font-size:.85rem;color:var(--text-muted);background:var(--bg-page);border-left:3px solid #6366f1}.cashflow-card{padding:1.5rem}.cashflow-table-wrapper{overflow-x:auto;margin-top:.5rem}.cashflow-table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.cashflow-table thead th{background:var(--bg-main);padding:6px 8px;text-align:center;font-weight:700;color:var(--text-main);border-bottom:2px solid var(--border-subtle)}.cf-label-col{text-align:left!important;min-width:160px}.cf-month-col{min-width:54px}.cf-total-col{min-width:68px;font-weight:800}.cf-section-header td{background:var(--bg-neutral);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 8px}.cf-row td{padding:5px 8px;border-bottom:1px solid var(--bg-main)}.cf-label{text-align:left;color:var(--text-main);font-size:.8rem}.cf-cell{text-align:center}.cf-total{text-align:right;font-weight:700;border-left:1px solid var(--border-subtle)}.cf-zero{color:var(--border-strong);font-size:.75rem}.cf-positive{color:#16a34a;font-weight:600}.cf-negative{color:#dc2626;font-weight:600}.cf-subtotal td{padding:6px 8px;background:var(--bg-page);border-top:1px solid var(--border-subtle);border-bottom:2px solid var(--border-subtle);font-size:.8rem}.cf-subtotal--recette td{border-left:3px solid #22c55e}.cf-subtotal--depense td{border-left:3px solid #ef4444}.cf-solde-row td{padding:7px 8px;background:var(--bg-card);border-top:2px solid #334155;font-size:.82rem}.cf-cumul-row td{padding:6px 8px;background:var(--bg-main);border-bottom:2px solid #334155;font-size:.82rem;text-align:center}.cf-cumul-cell{text-align:center}.cashflow-tension-card{padding:1.25rem 1.5rem}.cf-tension-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.cf-tension-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem .75rem;border-radius:8px;min-width:72px;font-size:.78rem}.cf-tension-chip--neg{background:#fef2f2;border:1px solid #fecaca}.cf-tension-chip--pos{background:#f0fdf4;border:1px solid #bbf7d0}.cf-tension-month{font-weight:700;color:var(--text-main);font-size:.82rem}.cf-tension-val{font-weight:600;font-size:.8rem}.cf-tension-chip--neg .cf-tension-val{color:#dc2626}.cf-tension-chip--pos .cf-tension-val{color:#16a34a}.cf-tension-cumul{font-size:.72rem;color:var(--text-muted)}.cf-tension-cumul.warn{color:#dc2626}.cf-tension-cumul.ok{color:#16a34a}.fin-loan-input-row{display:flex;gap:.5rem;align-items:center}.fin-loan-input-row input{flex:1}.input-auto{border-color:#6366f1!important;background:#6366f10a!important}.fin-loan-reset-btn{flex-shrink:0;background:var(--bg-page);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:1rem;padding:0 .6rem;height:42px;cursor:pointer;transition:all .15s}.fin-loan-reset-btn:hover{border-color:#6366f1;color:#6366f1}.prod-cost-table th,.prod-cost-table td{font-size:.8rem;padding:6px 5px}.debt-ratio-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.25rem}.debt-ratio-item{padding:.65rem .75rem;border-radius:10px;display:flex;flex-direction:column;gap:2px}.ratio-ok{background:#f0fdf4;border:1px solid #bbf7d0}.ratio-warn{background:#fffbeb;border:1px solid #fcd34d}.ratio-na{background:var(--bg-page);border:1px solid var(--border-subtle);opacity:.6}.ratio-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ratio-value{font-size:1.05rem;font-weight:800;color:var(--text-main)}.ratio-norm{font-size:.68rem;color:var(--text-dim)}.fin-financement-layout{display:flex;flex-direction:column;gap:1.25rem;animation:fadeInBS .4s ease-out}.fin-financement-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.fin-financement-col{padding:1.25rem 1.5rem}@media (max-width: 900px){.fin-financement-grid{grid-template-columns:1fr}}.fin-budget-layout{display:flex;flex-direction:column;gap:1.25rem;animation:fadeInBS .4s ease-out}.fin-budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.fin-budget-col{padding:1.25rem 1.5rem}.fin-param-field--inline{padding:0 0 1rem}@media (max-width: 900px){.fin-budget-grid{grid-template-columns:1fr}}.fin-projection-layout{display:flex;flex-direction:column;gap:1.25rem;animation:fadeInBS .4s ease-out}.fin-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 768px){.fin-scenario-grid{grid-template-columns:1fr}}.fin-scenario-col{padding:1.25rem 1.5rem}.fin-scenario-col--pessimiste{border-top:3px solid #ef4444}.fin-scenario-col--optimiste{border-top:3px solid #10b981}.proj-slider-field{margin-bottom:1.1rem}.proj-slider-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem;font-size:.85rem;color:var(--text-muted);font-weight:600}.proj-slider-val{font-size:.92rem;font-weight:800;min-width:80px;text-align:right}.proj-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:99px;background:var(--bg-main);outline:none;cursor:pointer}.proj-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003;transition:transform .15s}.proj-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.proj-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003}.proj-slider--red::-webkit-slider-runnable-track{background:#ef444426;border-radius:99px}.proj-slider--red::-webkit-slider-thumb{background:#ef4444}.proj-slider--red::-moz-range-thumb{background:#ef4444}.proj-slider--red::-moz-range-track{background:#ef444426}.proj-slider--green::-webkit-slider-runnable-track{background:#10b98126;border-radius:99px}.proj-slider--green::-webkit-slider-thumb{background:#10b981}.proj-slider--green::-moz-range-thumb{background:#10b981}.proj-slider--green::-moz-range-track{background:#10b98126}.proj-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.proj-metric-tabs{display:flex;gap:.4rem}.proj-metric-tabs button{padding:.3rem .75rem;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-page);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.proj-metric-tabs button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:700}.proj-chart-wrapper{position:relative;height:300px}.proj-chart-wrapper canvas{max-height:300px}.fin-assoc-layout{display:flex;flex-direction:column;gap:1.25rem}.fin-assoc-summary-card{padding:1.25rem 1.5rem}.assoc-viability-bar-track{height:10px;background:var(--bg-main);border-radius:99px;overflow:hidden}.assoc-viability-bar-fill{height:100%;border-radius:99px;transition:width .5s ease}.assoc-bar-track{height:8px;background:var(--bg-main);border-radius:99px;overflow:hidden;margin:.35rem 0 .2rem}.assoc-bar-fill{height:100%;border-radius:99px;transition:width .5s ease}.bar-ok{background:#10b981}.bar-warn{background:#f59e0b}.bar-danger{background:#ef4444}.assoc-item{padding:.85rem 0;border-bottom:1px solid var(--bg-main)}.assoc-item:last-child{border-bottom:none}.assoc-item__header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.1rem}.assoc-item__name{font-weight:700;font-size:.95rem}.assoc-item__amounts{display:flex;gap:.75rem;align-items:baseline}.assoc-item__monthly{font-size:.82rem}.assoc-item__annual{font-size:.95rem}.assoc-item__pct{font-size:.75rem}.proj-table .proj-year-col{min-width:110px;text-align:center;font-weight:700}.proj-table tbody tr:hover td{background:var(--bg-page)}@media (max-width: 768px){.cashflow-table{font-size:.72rem}.cf-label-col{min-width:120px}.cf-month-col{min-width:44px}.fin-cascade-card,.fin-details-merged-card{padding:1rem .75rem}.fin-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.65rem .5rem;font-size:.86rem}.fin-row>span:first-child,.fin-row>.text-blue:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.fin-row--total{font-size:.9rem}.fin-row--subtotal{font-size:.88rem}.fin-row--ebe{font-size:.88rem;padding:.7rem .5rem}.fin-row--final{font-size:.9rem;padding:.75rem .5rem}.financial-table-wrapper{overflow-x:auto}.financial-mini-table{font-size:.82rem}.financial-mini-table th:nth-child(3),.financial-mini-table td:nth-child(3){display:none}.fin-kpi-strip{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible}.fin-kpi-chip{padding:.65rem .85rem;border-right:none;border-bottom:1px solid var(--border-subtle)}.fin-kpi-chip:nth-child(odd){border-right:1px solid var(--border-subtle)}.fin-kpi-chip:last-child:nth-child(odd){grid-column:1 / -1;border-right:none}.fin-kpi-chip:last-child{border-bottom:none}.fin-kpi-chip__label{font-size:.68rem}.fin-kpi-chip__value{font-size:.95rem}.fin-header-card .settings-tabs{gap:0;margin-bottom:.75rem}.fin-header-card .settings-tab-btn{padding:.45rem .6rem;font-size:.72rem;white-space:nowrap}.fin-header-card{padding:.85rem .85rem .75rem}.fin-sep{font-size:.68rem;margin:1rem 0 .4rem}}.loading-state,.join-success{text-align:center;padding:2rem 0}.success-icon{font-size:3rem;margin-bottom:1rem}.spinner{width:40px;height:40px;border:4px solid var(--border-subtle);border-left-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-card{text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.edu-join-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.25rem}.edu-join-brand .logo-img{height:64px;width:auto}.edu-join-logo-text{display:flex;align-items:flex-start;gap:.3rem}.edu-join-badge{font-size:.6rem;font-weight:900;background:var(--edu-color, #4f46e5);color:#fff;padding:2px 7px;border-radius:5px;letter-spacing:.08em;margin-top:4px}.join-welcome-card{background:linear-gradient(135deg,var(--edu-glow),transparent);border:1px solid var(--border-accent);border-radius:16px;padding:2rem;text-align:center;margin-bottom:1rem}.join-welcome-icon{font-size:3.5rem;margin-bottom:.75rem;display:block;animation:gentle-bounce 2.5s ease-in-out infinite}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.join-welcome-title{font-size:1.4rem;font-weight:800;color:var(--text-main);margin:0 0 .75rem}.join-welcome-text{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.join-steps-preview{display:flex;flex-direction:column;gap:.5rem;text-align:left;margin-bottom:1.75rem;padding:0 .25rem}.join-step{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-muted);font-weight:500}.step-dot{width:10px;height:10px;border-radius:50%;background:var(--border-subtle);flex-shrink:0}.step-dot.active{background:var(--edu-color);box-shadow:0 0 0 3px var(--edu-glow)}.btn-edu-start{background:var(--edu-color)!important;box-shadow:0 4px 12px var(--edu-glow)!important;border-color:var(--edu-color)!important}.btn-edu-start:hover:not(:disabled){background:var(--edu-color)!important;border-color:var(--edu-color)!important;opacity:.9}.join-footer-nudge{font-size:.8rem;color:var(--text-dim);text-align:center;margin:0}.join-footer-nudge a{color:var(--edu-color, #4f46e5);text-decoration:none;font-weight:600}.join-footer-nudge a:hover{text-decoration:underline}.school-dashboard{padding:0;animation:fadeIn .5s ease-out}.tab-content{width:100%}.class-group{margin-bottom:3rem;background:var(--glass-bg);border-radius:16px;border:1px solid var(--border-strong);overflow:hidden;box-shadow:var(--card-shadow)}.class-group-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:var(--glass-border);border-bottom:1px solid var(--border-strong)}.class-icon{font-size:1.1rem}.class-name{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0;flex:1}.class-count{font-size:.8rem;font-weight:600;color:var(--text-muted);background:var(--bg-neutral);padding:.2rem .6rem;border-radius:99px}.main-glass-container{padding:2.5rem;min-height:80vh}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{padding:1.5rem;background:var(--glass-bg);border-radius:12px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--card-shadow)}.stat-label{font-size:.8rem;color:var(--text-muted);font-weight:600;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:800;color:var(--text-main)}.dashboard-section-main{padding:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1.5rem;flex-wrap:wrap}.section-title{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0}.search-box input{padding:.6rem 1rem;border:1px solid var(--border-strong);border-radius:8px;width:280px;background:var(--bg-input);color:var(--text-main);transition:all .2s}.search-box input:focus{outline:none;border-color:var(--primary-color);background:var(--bg-input);box-shadow:0 0 0 3px var(--primary-glow)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:1rem;color:var(--text-muted);font-size:.85rem;font-weight:700;border-bottom:2px solid var(--border-subtle)}.row-selected td{background:var(--primary-glow)!important}.bulk-actions-bar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 2rem;min-width:400px;background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);box-shadow:0 10px 30px #00000059;border-radius:1rem}.selected-count{font-weight:600;color:var(--text-main)}.bulk-buttons{display:flex;gap:1rem}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease-out}.slide-up-enter-from,.slide-up-leave-to{transform:translate(-50%,100%);opacity:0}.data-table td{padding:1.25rem 1rem;border-bottom:1px solid var(--border-subtle)}.data-table tr:hover td{background:var(--bg-neutral)}.magic-link-group{display:flex;flex-direction:column}.magic-link-cell{display:flex;align-items:center;gap:.5rem}.status-badge{display:inline-block;font-size:.75rem;color:var(--text-muted);background:var(--bg-neutral);padding:.2rem .6rem;border-radius:99px;font-weight:600;white-space:nowrap}.status-badge.connected{background:var(--primary-glow);color:var(--success-color)}.status-badge.never{background:var(--bg-neutral);color:var(--text-dim)}.class-engagement{font-size:.75rem;font-weight:700;padding:.2rem .7rem;border-radius:99px;background:var(--edu-glow);color:var(--edu-color);margin-left:.5rem;white-space:nowrap}.class-engagement.high{background:var(--primary-glow);color:var(--success-color)}.class-engagement.low{background:#ef44441a;color:var(--danger-color)}.stat-card--edu{border-top:3px solid var(--edu-color, #4f46e5)}.edu-stat{color:var(--edu-color, #4f46e5)}.magic-link-cell code{background:var(--bg-neutral);padding:.2rem .5rem;border-radius:6px;font-size:.8rem;color:var(--text-main);border:1px solid var(--border-subtle);font-family:monospace}.icon-btn{background:var(--bg-card);border:1px solid var(--border-strong);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;color:var(--text-main)}.icon-btn:hover{border-color:var(--primary-color);background:var(--bg-neutral)}.plan-tag{font-size:.7rem;padding:2px 8px;border-radius:20px;text-transform:uppercase;font-weight:700}.plan-tag.education{background:var(--primary-glow);color:var(--success-color)}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim);border:2px dashed var(--border-strong);border-radius:12px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-strong);border-radius:8px;font-size:.95rem;background:var(--bg-input);color:var(--text-main);transition:all .2s}.modal-content{background:var(--bg-card);max-width:700px;width:90%;padding:2.5rem;border-radius:16px;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow);color:var(--text-main);min-width:320px;min-height:220px;resize:both;overflow:auto}.modal-content.modal-content--large{max-width:860px;width:90%;max-height:90vh;overflow-y:auto}.modal-intro{color:var(--text-muted);font-size:.95rem;margin-bottom:2rem}.action-btn-danger{padding:.4rem .8rem;font-size:.85rem;border-radius:8px;background:#ef44441a;color:var(--danger-color);border:1px solid rgba(239,68,68,.2);cursor:pointer;transition:all .2s}.action-btn-danger:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.btn-sm{padding:.4rem .8rem!important;font-size:.85rem!important}.template-objectives-preview{margin:1rem 0;padding:1rem 1.25rem;background:var(--edu-glow);border:1px solid var(--border-accent);border-radius:10px}.tobj-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tobj-title{font-size:.85rem;font-weight:700;color:var(--text-main)}.tobj-count{font-size:.75rem;font-weight:600;color:var(--edu-color);background:var(--edu-glow);padding:.15rem .5rem;border-radius:99px}.tobj-list{display:flex;flex-direction:column;gap:.4rem}.tobj-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.tobj-badge{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:99px;flex-shrink:0}.tobj-badge--auto{background:var(--edu-glow);color:var(--edu-color)}.tobj-badge--manual{background:var(--bg-neutral);color:var(--text-muted)}.tobj-badge--report{background:#ea580c14;color:#ea580c}.tobj-label{flex:1;color:var(--text-main);font-weight:500}.tobj-target{font-size:.75rem;color:var(--text-muted);font-style:italic}.mission-objectives{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-strong)}.custom-obj-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;background:var(--bg-neutral);padding:.5rem .8rem;border-radius:8px;border:1px solid var(--border-strong);flex-wrap:wrap}@media (max-width: 768px){.main-glass-container{padding:1.25rem 1rem}.view-title{font-size:1.5rem;margin-bottom:.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;flex-direction:column;align-items:stretch!important;gap:.75rem!important}.search-box,.search-box input{width:100%!important}.btn-primary{width:100%;justify-content:center}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:8px;border:1px solid var(--border-subtle)}.data-table th,.data-table td{padding:1rem .75rem;font-size:.85rem;white-space:nowrap}.class-group-header{flex-wrap:wrap;padding:1rem;gap:.5rem}.class-name{width:100%;font-size:1rem;order:1}.class-icon{order:0}.class-count{order:2}.class-engagement{order:3;margin-left:0}.class-group-header .action-btn-secondary{width:100%;margin-top:.5rem;order:4}.class-group-header div[style*="flex: 1"]{display:none}.bulk-actions-bar{width:90%;min-width:0;flex-direction:column;padding:1rem;gap:1rem;bottom:1rem}.bulk-buttons{width:100%;flex-wrap:wrap;justify-content:center}.bulk-buttons button{flex:1;min-width:120px}.modal-content.modal-content--large{padding:1.5rem 1.25rem;width:95%}.custom-obj-row{flex-direction:column;align-items:stretch}.magic-link-cell code{max-width:150px}}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:1rem}.template-preview-card{background:var(--surface-secondary, #f8fafc);border:1px solid var(--border-subtle, #e2e8f0);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .2s}.template-preview-card:hover{box-shadow:0 4px 12px #00000014}.tpl-card-header{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.tpl-title{font-size:.95rem;color:var(--text-primary, #1e293b);line-height:1.3}.tpl-official-badge{font-size:.7rem;font-weight:700;background:var(--primary-color, #16a34a);color:#fff;padding:.15rem .45rem;border-radius:4px;white-space:nowrap}.tpl-personal-badge{font-size:.75rem;font-weight:600;color:var(--text-muted, #64748b);background:var(--surface-tertiary, #e2e8f0);padding:.15rem .45rem;border-radius:4px;white-space:nowrap}.tpl-desc{font-size:.82rem;color:var(--text-muted, #64748b);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tpl-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted, #64748b)}.tpl-level{background:var(--surface-tertiary, #e2e8f0);padding:.1rem .4rem;border-radius:4px}.tpl-obj-count{padding:.1rem .4rem}.tpl-preview-btn{margin-top:auto;width:100%;justify-content:center}.invoicing-content-wrapper{width:100%;padding-top:1.5rem}.table-scroll-container{overflow-x:auto;border-radius:12px;border:1px solid var(--glass-border);margin-top:1rem}.text-success{color:#059669}.font-bold{font-weight:700}.text-xs{font-size:.75rem;color:var(--text-muted)}.supervision-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;padding:1rem 0}.flow-steps{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.step{display:flex;gap:1.25rem;align-items:flex-start}.step-num{width:32px;height:32px;background:var(--accent-light, #10b981);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;box-shadow:0 4px 10px #10b98133}.step-desc{font-size:.95rem;line-height:1.4;color:var(--text-main)}.stat-card{background:var(--bg-card);padding:1.25rem;border-radius:12px;border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000000d}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 15px -3px #0000001a;border-color:var(--accent-light)}.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.stat-info{font-size:.85rem;color:var(--text-dim);font-weight:500}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.supervision-layout{grid-template-columns:1fr;gap:2rem}}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1rem 0}.compliance-status{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.status-item{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.dot{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.dot.active{background:#10b981;box-shadow:0 0 8px #10b98166}.bg-info{background:#3b82f608;border:1px solid rgba(59,130,246,.1)}.border-info{border:1px solid rgba(59,130,246,.2)}.rounded{border-radius:8px}.mt-05{margin-top:.5rem}.text-xxs{font-size:.65rem}.flex-column{display:flex;flex-direction:column}.text-muted{color:var(--text-dim)}.admin-invoicing{display:flex;flex-direction:column;gap:1.5rem}.view-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.view-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:-.5rem;margin-bottom:1.5rem}.tab-switcher{display:flex;padding:.25rem;background:#0000000d;border-radius:12px}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:9px;font-weight:600;transition:all .2s;background:transparent;color:var(--text-muted)}.tab-btn:hover{background:#ffffff80;color:var(--text-color)}.tab-btn.active{background:var(--bg-card);box-shadow:0 4px 12px #0000000d;color:var(--primary-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:1rem}.stat-card{position:relative;overflow:hidden;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;border-left:4px solid var(--border-strong)}.stat-card:hover{transform:translateY(-2px)}.stat-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.stat-value{font-size:1.6rem;font-weight:800;color:var(--text-color);margin-bottom:.25rem}.stat-desc{font-size:.8rem;color:var(--text-muted)}.stat-icon-bg{position:absolute;top:1rem;right:-.25rem;font-size:3.5rem;opacity:.05;filter:grayscale(1);pointer-events:none}.accent-primary{border-left-color:var(--primary-color)}.accent-success{border-left-color:var(--success-color)}.accent-error{border-left-color:var(--danger-color)}.accent-warning{border-left-color:var(--warning-color)}.stat-status-text{font-size:1.1rem;font-weight:800;letter-spacing:-.01em}.data-table-container{overflow-x:auto}.badge-premium{padding:.3rem .6rem;border-radius:6px;font-size:.75rem;font-weight:700}.badge-success{background:#22c55e1a;color:var(--success-color)}.badge-warning{background:#f59e0b1a;color:var(--warning-color)}.badge-error{background:#ef44441a;color:var(--danger-color)}.badge-neutral{background:#0000000d;color:var(--text-muted)}.ref-code{font-family:monospace;font-size:.8rem;background:#0000000a;padding:.15rem .3rem;border-radius:4px}.farm-cell{display:flex;align-items:center;gap:.5rem}.farm-avatar{width:24px;height:24px;background:var(--primary-light);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.settings-section-title{font-size:1.1rem;font-weight:700;color:var(--primary-dark);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text-color);margin-bottom:.4rem}.premium-input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-main);font-family:inherit;transition:all .2s}.premium-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.connection-test-area{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.test-result{padding:.75rem;border-radius:8px;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.test-result.success{background:#22c55e1a;color:var(--success-color)}.test-result.error{background:#ef44441a;color:var(--danger-color)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-strong);transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(20px)}.actions-footer{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.btn-primary{background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border-radius:9px;border:none;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-color);padding:.75rem 1.5rem;border-radius:9px;font-weight:700;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-page);border-color:var(--text-dim)}.btn-test{background:var(--bg-card);border:2px solid var(--primary-color);color:var(--primary-color);padding:.6rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-test:hover:not(:disabled){background:var(--primary-glow)}.history-section{padding:1rem 0}.history-summary{font-size:.85rem;color:var(--text-muted);font-weight:600}.history-view-toggle{display:flex;background:var(--bg-main);padding:4px;border-radius:10px;gap:2px}.history-view-toggle button{padding:.4rem .9rem;border-radius:7px;border:none;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem}.history-view-toggle button.active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 2px 6px #00000014}.header-right{display:flex;align-items:center;gap:1rem}.btn-add-sm{background:var(--primary-color);color:#fff;border:none;padding:.4rem .8rem;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.4rem}.calendar-sub-toggle{display:flex;background:var(--bg-main);padding:4px;border-radius:10px;gap:2px}.calendar-sub-toggle button{border:none;background:transparent;padding:.4rem .9rem;border-radius:7px;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s}.calendar-sub-toggle button.active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 2px 6px #00000014}.header-left-group{display:flex;align-items:center;gap:1.5rem}.history-list-container{background:var(--bg-card);border-radius:16px;border:1px solid rgba(0,0,0,.05);overflow:hidden;margin-top:1rem}.history-table-header{display:flex;background:var(--bg-page);padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle);font-weight:700;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.history-row{display:flex;padding:1.25rem 1.5rem;border-bottom:1px solid var(--bg-main);align-items:center;transition:background .2s}.history-row:last-child{border-bottom:none}.history-row.clickable{cursor:pointer}.history-row.clickable:hover{background:var(--bg-page)}.h-col{flex:1;min-width:0;display:flex;align-items:center;padding:.5rem 0}.h-col.date{flex:0 0 72px;flex-direction:column;justify-content:center;padding:.25rem .5rem;margin-right:1rem;border-right:1px solid var(--border-subtle)}.history-row .d-day{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important}.history-row .d-month{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important;text-transform:uppercase!important;letter-spacing:normal!important}.h-col.crop{flex:0 0 140px}.history-row .crop-badge{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important;padding:0!important;background:none!important;border:none!important;border-radius:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:140px}.h-col.plot{flex:0 0 150px;padding-right:1rem}.history-row .plot-name{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important;padding:0!important}.h-col.action{flex:0 0 140px}.history-row .action-tag{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important;padding:0!important;background:none!important;border:none!important;border-radius:0!important;display:inline-block;white-space:nowrap}.history-row .type-semis,.history-row .type-fertilisation,.history-row .type-traitement,.history-row .type-recolte,.history-row .type-travail_sol{color:var(--text-main)!important}.h-col.details{flex:2}.details-content{display:flex;flex-direction:column}.history-row .main-detail{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:0!important}.history-row .sub-detail{font-family:Outfit,sans-serif!important;font-size:.875rem!important;font-weight:500!important;color:var(--text-main)!important;line-height:1.2!important;margin:2px 0 0!important}.no-history-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border-radius:16px;border:1px dashed var(--border-strong)}.placeholder-icon{font-size:3rem;margin-bottom:1rem}.placeholder-actions{display:flex;gap:1rem}.no-history-placeholder p{color:var(--text-muted);margin-bottom:1.5rem}@media (max-width: 1024px){.history-table-header .h-col.plot,.history-row .h-col.plot{display:none}}@media (max-width: 768px){.history-table-header{display:none}.history-row{display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;column-gap:.6rem;row-gap:.1rem;padding:.65rem .75rem;align-items:start}.h-col.date{grid-column:1;grid-row:1 / 3;margin-right:0;border-right:1px solid var(--border-subtle);padding:.05rem .6rem 0 0;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.history-row .d-day{font-size:1.05rem!important;font-weight:700!important;line-height:1.1!important}.history-row .d-month{font-size:.68rem!important;font-weight:600!important;color:var(--text-muted)!important;letter-spacing:.04em!important}.h-col.crop{grid-column:2;grid-row:1;flex:unset;min-width:0}.history-row .crop-badge{font-size:.88rem!important;font-weight:700!important;max-width:none}.h-col.plot{display:none}.h-col.action{grid-column:3;grid-row:1;flex:unset;padding:0;align-items:flex-start}.history-row .action-tag{font-size:.7rem!important;font-weight:700!important;padding:.15rem .4rem!important;border-radius:5px!important;background:var(--bg-page)!important;border:1px solid var(--border-subtle)!important;white-space:nowrap;display:inline-block}.history-row .type-semis.action-tag{background:#eff6ff!important;color:#2563eb!important;border-color:#bfdbfe!important}.history-row .type-fertilisation.action-tag{background:#f0fdf4!important;color:#16a34a!important;border-color:#bbf7d0!important}.history-row .type-traitement.action-tag{background:#fdf2f8!important;color:#db2777!important;border-color:#fbcfe8!important}.history-row .type-recolte.action-tag{background:#fffbeb!important;color:#d97706!important;border-color:#fde68a!important}.history-row .type-travail_sol.action-tag{background:#f3f4f6!important;color:#4b5563!important;border-color:#d1d5db!important}.history-row .type-unknown.action-tag{background:var(--bg-page)!important;color:var(--text-muted)!important}.h-col.details{grid-column:2 / 4;grid-row:2;flex:unset;margin-top:0;padding:0}.history-row .main-detail{font-size:.78rem!important;font-weight:400!important;color:var(--text-muted)!important}.history-row .sub-detail{font-size:.72rem!important;color:var(--text-dim)!important}.btn-add-sm{display:none}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.header-left-group{flex-wrap:nowrap;gap:.5rem;align-items:center}.history-view-toggle button{padding:.35rem .6rem;font-size:.75rem}.header-right{width:100%;justify-content:flex-end}}.history-group{border-bottom:2px solid var(--bg-main)}.history-group:last-of-type{border-bottom:none}.group-header{background:var(--bg-page);padding:.5rem 1.5rem;font-size:.8rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.load-more-container{display:flex;justify-content:center;padding:1.5rem;background:var(--bg-page)}.btn-load-more{background:var(--bg-card);border:1px solid var(--border-subtle);padding:.6rem 1.5rem;border-radius:8px;font-size:.85rem;font-weight:700;color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-load-more:hover{background:var(--bg-main);color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px)}.history-calendar-container{background:var(--bg-card);margin-top:1rem;padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-nav{display:flex;align-items:center;gap:1rem}.cal-nav-btn{background:var(--bg-main);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-muted);cursor:pointer;transition:all .2s}.cal-nav-btn:hover{background:var(--bg-neutral);color:var(--primary-color)}.current-month-label{margin:0;font-size:1rem;font-weight:800;color:var(--text-main);min-width:180px;text-align:center}.btn-text-sm{background:none;border:none;color:var(--primary-color);font-size:.85rem;font-weight:700;cursor:pointer}.btn-text-sm:hover{text-decoration:underline}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--bg-neutral);border:1px solid var(--border-subtle);border-radius:0;overflow:hidden}.calendar-header-row.calendar-grid{border-radius:12px 12px 0 0}.calendar-container>.calendar-grid:last-child,.calendar-week-row:last-child>.calendar-grid{border-radius:0 0 12px 12px}.history-calendar-container>.calendar-grid{border-radius:12px}.calendar-weekday{background:var(--bg-page);padding:.75rem;text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.calendar-day{background:var(--bg-card);min-height:100px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;position:relative;cursor:pointer;transition:all .2s}.calendar-day:hover:not(.empty){background:var(--bg-page)}.calendar-day[dragover=true]{background:#f0fdf4;border:1px dashed var(--primary-color)}.calendar-day.empty{background:#fdfdfd}.calendar-day.today{background:#f0fdf4}.calendar-day.today .day-number{background:var(--primary-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-number{font-size:.85rem;font-weight:700;color:var(--text-muted);margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:2px}.cal-event-tag{font-size:.65rem;font-weight:700;padding:2px 4px;border-radius:4px;display:flex;align-items:center;gap:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;-webkit-user-select:none;user-select:none}.cal-event-tag:active{cursor:grabbing}.cal-event-tag .event-icon{font-size:.7rem}.cal-event-tag.type-semis{background:#eff6ff80;color:#2563eb}.cal-event-tag.type-fertilisation{background:#f0fdf480;color:#16a34a}.cal-event-tag.type-traitement{background:#fdf2f880;color:#db2777}.cal-event-tag.type-recolte{background:#fffbeb80;color:#d97706}.cal-event-tag.type-travail_sol{background:#f3f4f680;color:#4b5563}.event-plot{font-size:.6rem;opacity:.8;font-weight:500;margin-left:2px}.calendar-container{display:flex;flex-direction:column}.calendar-header-row{border-radius:12px 12px 0 0;overflow:hidden}.calendar-week-row{border-bottom:1px solid var(--border-subtle)}.calendar-week-row:last-child{border-bottom:none;border-radius:0 0 12px 12px;overflow:hidden}.calendar-header-actions{display:flex;align-items:center;gap:.75rem}.wc-toggle-btn{border:1px solid var(--border-subtle)!important;border-radius:6px;padding:3px 8px;font-size:.78rem!important;background:var(--bg-page)!important;color:var(--text-muted)!important;transition:all .2s}.wc-toggle-btn:hover{border-color:var(--primary-color)!important;color:var(--primary-color)!important;text-decoration:none!important}.wc-toggle-btn.active{background:#f0fdf4!important;border-color:var(--primary-color)!important;color:var(--primary-color)!important}.week-bands-container{display:flex;flex-direction:column;gap:2px;padding:3px 4px;background:#fafafa;border-bottom:1px dashed var(--border-subtle)}.wc-band{display:flex;align-items:center;gap:.4rem;padding:2px 6px 2px 8px;border-radius:4px;border-left:3px solid;font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:20px}.wc-band-cat{font-weight:700;flex-shrink:0}.wc-band-crop{opacity:.75;font-weight:500;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px){.calendar-day{min-height:80px}.event-crop,.event-plot{display:none}}@media (max-width: 768px){.calendar-weekday{padding:.5rem;font-size:.65rem}.calendar-day{min-height:60px;padding:.25rem}}@media (max-width: 640px){.dashboard-page .glass-card{padding:.75rem}.dashboard-page .view-section-header{margin-bottom:.5rem;padding-bottom:.5rem}.dashboard-page .settings-tabs{margin-bottom:.75rem;gap:0}.dashboard-page .settings-tab-btn{padding:.5rem .75rem;font-size:.85rem}.dashboard-page .dashboard-content-wrapper{padding-top:.25rem}.dashboard-page .history-section{padding:0}.dashboard-page .section-header{margin-bottom:.5rem;gap:.4rem}.dashboard-page .history-calendar-container{margin-top:.4rem}.history-calendar-container{padding:.6rem .4rem}.calendar-header{flex-direction:row;flex-wrap:nowrap;gap:.25rem;margin-bottom:.6rem;align-items:center}.calendar-nav{gap:.4rem;flex:1}.current-month-label{min-width:unset;font-size:.8rem;white-space:nowrap}.cal-nav-btn{width:26px;height:26px;font-size:1rem;flex-shrink:0}.wc-toggle-btn{display:none!important}.calendar-header-actions{flex-shrink:0}.btn-text-sm{font-size:.72rem;white-space:nowrap}.calendar-day{min-height:44px;padding:.2rem .15rem;gap:2px}.calendar-weekday{padding:.35rem .1rem;font-size:.6rem}.day-number{font-size:.75rem;margin-bottom:1px}.calendar-day.today .day-number{width:20px;height:20px;font-size:.7rem}.day-events{flex-direction:row;flex-wrap:wrap;gap:2px;align-items:center}.cal-event-tag{width:7px;height:7px;border-radius:50%;padding:0;flex-shrink:0;overflow:hidden}.cal-event-tag .event-icon,.cal-event-tag .event-crop,.cal-event-tag .event-plot{display:none}.cal-event-tag.type-semis{background:#2563eb}.cal-event-tag.type-fertilisation{background:#16a34a}.cal-event-tag.type-traitement{background:#db2777}.cal-event-tag.type-recolte{background:#d97706}.cal-event-tag.type-travail_sol{background:#4b5563}.week-bands-container{padding:2px 3px}.wc-band{height:14px;font-size:.6rem;padding:1px 4px 1px 5px}.wc-band-crop{display:none}}.btn-premium-inline{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-decoration:none;border-radius:999px;font-weight:700;font-size:.8rem;box-shadow:0 2px 8px #f59e0b4d;transition:all .2s ease;white-space:nowrap}.btn-premium-inline:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b73;filter:brightness(1.08)}.weather-toolbar{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;display:flex;align-items:center;gap:1rem}.btn-weather-choice{padding:6px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-muted);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-weather-choice:hover{background:var(--bg-page);border-color:var(--border-strong)}.btn-weather-choice.active{background:var(--primary-glow);color:var(--primary-color);border-color:var(--primary-color)}.weather-kpi-card{padding:1rem;text-align:center;display:flex;flex-direction:column;gap:4px;background:var(--bg-card)}.wk-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.wk-value{font-size:1.75rem;font-weight:800;color:var(--text-main);line-height:1}.wk-unit{font-size:.9rem;font-weight:600;color:var(--text-dim);margin-left:2px}.wk-range{font-size:.7rem;color:var(--text-dim);margin-top:4px}.plot-weather-table{width:100%;border-collapse:collapse;font-size:.85rem}.plot-weather-table th{text-align:left;padding:.75rem .5rem;font-size:.7rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-subtle)}.plot-weather-table td{padding:.6rem .5rem;border-bottom:1px solid var(--border-subtle);color:var(--text-main)}.row--today td{background:var(--primary-glow);font-weight:700}.row--future td{color:var(--text-muted)}.w-bar-cell{display:flex;align-items:center;gap:8px}.w-bar-bg{width:60px;height:6px;background:var(--bg-page);border-radius:3px;overflow:hidden}.w-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.w-bar-label{font-size:.8rem;font-weight:700;min-width:34px}.dashboard-header-row{display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle, #e2e8f0)}.dashboard-header-row .settings-tabs{margin-bottom:0!important;border-bottom:none!important}.tab-weather-icon{width:32px;height:32px;margin-right:6px;vertical-align:middle}.tab-temp{font-weight:800;color:var(--text-main);margin-right:6px}@media (max-width: 640px){.dashboard-header-row{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:.5rem}.tab-weather-icon{width:22px;height:22px}}.doc-container{padding:3rem}.doc-nav-anchors{display:flex;gap:1.5rem;margin:2rem 0;padding:1rem;background:var(--bg-page);border-radius:12px;justify-content:center}.doc-nav-anchors a{text-decoration:none;color:var(--text-muted);font-weight:600;font-size:.9rem;transition:color .2s}.doc-nav-anchors a:hover{color:#059669}.doc-section{margin-bottom:3rem;scroll-margin-top:2rem}.doc-section h2{color:var(--text-main);border-bottom:2px solid var(--bg-main);padding-bottom:.5rem;margin-bottom:1rem}.doc-section p,.doc-section li{line-height:1.6;color:var(--text-muted)}.doc-tip{background:#ecfdf5;border-left:4px solid #10b981;padding:1rem;margin-top:1rem;border-radius:0 8px 8px 0}.btn-contact-doc{display:inline-block;padding:.75rem 1.5rem;background:#059669;color:#fff;text-decoration:none;border-radius:50px;font-weight:600}.admin-dashboard{display:flex;flex-direction:column;gap:1.5rem}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem}.stat-label{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;margin-top:.5rem}.badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.badge.super_admin{background:rgba(var(--primary-rgb),.2);color:var(--primary-color);border:1px solid var(--primary-color)}.badge.farm_admin{background:rgba(var(--secondary-rgb),.2);color:var(--secondary-color)}.badge.user{background:#0000000d;color:var(--text-muted)}.badge.deactivated{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.badge.teacher{background:var(--success-bg);color:#16a34a;border:1px solid var(--success-border)}.badge.premium{background:#ffd70026;color:#b8860b;border:1px solid rgba(255,215,0,.3)}.badge.free{background:#0000000d;color:#666;border:1px solid rgba(0,0,0,.1)}.centered-btn{margin:0 auto}.btn-small{padding:.3rem .6rem;font-size:.8rem;display:flex;align-items:center;justify-content:center}.no-underline{text-decoration:none}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted)}.action-list{display:flex;flex-direction:column;gap:.75rem}.action-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;border:1px solid rgba(0,0,0,.05);background:#00000005;text-align:left;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit;width:100%}.action-item:hover{background:rgba(var(--primary-rgb),.05);border-color:var(--primary-color);transform:translateY(-2px)}.action-item.danger:hover{background:#ef44440d;border-color:var(--danger-color)}.action-item.success:hover{background:#10b9810d;border-color:#10b981}.action-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:8px;box-shadow:0 2px 4px #0000000d}.action-info{display:flex;flex-direction:column}.action-title{font-weight:600;font-size:1rem}.action-desc{font-size:.8rem;color:var(--text-muted)}.references-container{margin-top:0;display:flex;flex-direction:column;min-height:calc(100vh - 150px)}.ref-page-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.5rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.ref-page-header-text{display:flex;flex-direction:column;gap:.25rem}.view-title{margin:0;font-weight:800;letter-spacing:-.02em}.view-subtitle{margin:0;color:#64748b;font-size:.9rem}.ref-body{flex:1;padding:1.5rem}.table-actions-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.table-hint{font-size:.8rem;color:var(--text-muted);margin:0;font-style:italic}.ref-table-wrapper{overflow-x:auto;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-subtle)}.ref-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.ref-table th{text-align:left;padding:.9rem .75rem;background:var(--bg-page);color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;border-bottom:2px solid var(--border-subtle)}.ref-table td{padding:.75rem;border-bottom:1px solid var(--bg-main);vertical-align:middle}.ref-table tbody tr:last-child td{border-bottom:none}.crop-td{min-width:180px;position:sticky;left:0;background:var(--bg-card);z-index:10;box-shadow:4px 0 8px #00000005}.crop-info-cell{display:flex;align-items:center;gap:10px}.crop-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 0 3px #0000000d}.crop-name{font-weight:800;color:var(--text-main);white-space:nowrap}.override-star{font-size:10px;color:#10b981}.ref-table input{width:75px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-card);font-weight:700;color:var(--text-main);font-size:.9rem;transition:all .2s;text-align:center}.ref-table input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;transform:scale(1.05)}.ref-table input.overridden{color:#059669;border-color:#10b981;background:#f0fdf4}.coupled-aid-input{background:#f0fdf4!important;color:#059669!important}.unit-toggle-wrapper{display:flex;background:var(--bg-main);padding:2px;border-radius:8px;width:fit-content}.unit-toggle-btn{border:none;background:transparent;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;color:var(--text-muted);cursor:pointer;transition:all .2s}.unit-toggle-btn.active{background:var(--bg-card);color:#059669;box-shadow:0 2px 4px #0000000d}.input-with-unit{display:flex;flex-direction:row;align-items:center;gap:5px}.unit-label{font-size:.65rem;color:var(--text-dim);font-weight:600;text-transform:lowercase}.price-date-hint{font-size:.65rem;color:var(--text-dim);margin-top:2px}.actions-td{width:40px;text-align:center}.row-reset-btn{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:.8rem}.row-reset-btn:hover{background:#fecaca}.reset-all-btn{background:#fee2e2;color:var(--danger-color);border:1px solid #fecaca;padding:.5rem 1rem;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.reset-all-btn:hover{background:#fecaca;transform:translateY(-1px)}.sync-btn{background:#10b981;color:#fff;border:none;padding:.65rem 1.4rem;border-radius:10px;font-weight:800;font-size:.85rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #10b98133;white-space:nowrap;flex-shrink:0}.sync-btn:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 6px 16px #10b9814d}.sync-btn:disabled{opacity:.6;cursor:not-allowed}.app-view{padding:0 0 1.5rem;margin:0;width:100%;box-sizing:border-box}.view-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.header-actions{display:flex;align-items:center;gap:1rem}.view-section-header h2,.view-title{margin:0;color:var(--text-main)}.view-section-header h2{font-weight:800;letter-spacing:-.01em}.land-modal-title{margin:0 0 1.5rem;color:var(--text-main);font-size:1.5rem;font-weight:700}.land-modal-title-accent{color:var(--primary-color)}.agro-params-grid .form-group label{display:block;margin-bottom:.4rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea,.agro-plot-selector select,.assolement-form-select,.assolement-form-input{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-strong);font-size:.95rem;box-sizing:border-box;background:var(--bg-input);font-family:inherit;color:var(--text-main);outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.agro-plot-selector select:focus,.assolement-form-select:focus,.assolement-form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row>div{flex:1}@media (max-width: 540px){.form-row{flex-direction:column;gap:0}}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel{padding:.75rem 1.5rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-card);font-weight:600;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:var(--bg-page)}.btn-save{padding:.75rem 1.5rem;border-radius:8px;background:var(--primary-color);color:#fff;border:none;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.btn-save:hover{background:var(--primary-dark)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:.75rem 1.5rem;border-radius:8px;background:var(--danger-color);color:#fff;border:none;font-weight:700;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#dc2626}.btn-warning{padding:.75rem 1.5rem;border-radius:8px;background:#f59e0b;color:#fff;border:none;font-weight:700;cursor:pointer;transition:background .2s}.btn-warning:hover{background:#d97706}.btn-secondary-outline{padding:.75rem 1.5rem;border-radius:8px;background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.btn-secondary-outline:hover{background:var(--bg-neutral);border-color:var(--border-strong)}.view-empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim)}.view-empty-state__icon{font-size:3rem;margin-bottom:1rem}.view-empty-state__title{font-size:1rem;font-weight:600;margin:0}.view-empty-state__subtitle{font-size:.85rem;margin-top:.5rem}.view-data-table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}.view-data-table th{padding:8px 12px;background:var(--bg-page);color:var(--text-muted);font-weight:600;border-bottom:2px solid var(--border-subtle);border:1px solid var(--border-subtle)}.view-data-table td{padding:10px 12px;border-bottom:1px solid var(--bg-main);border:1px solid var(--border-subtle)}.view-data-table tbody tr:hover{background:var(--bg-main)}.view-section-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:2rem}.view-sort-toggle{display:flex;background:var(--bg-main);padding:3px;border-radius:8px;border:1px solid var(--border-subtle)}.view-sort-toggle-btn{padding:4px 10px;border-radius:6px;border:none;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-muted)}.view-sort-toggle-btn.active{background:var(--bg-card);color:var(--text-main);font-weight:700;box-shadow:var(--card-shadow)}.btn-add{padding:8px 16px;font-size:.85rem;height:auto;border-radius:10px;background:var(--primary-color);color:#fff;border:none;font-weight:700;box-shadow:0 4px 12px var(--primary-glow);cursor:pointer;transition:background .2s,transform .2s}.btn-add:hover{background:var(--primary-dark)}.action-btn-secondary{padding:6px 10px;font-size:.8rem;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-muted);cursor:pointer;transition:all .2s}.action-btn-secondary:hover{background:var(--bg-main);color:var(--text-main)}.action-btn-icon{padding:6px;font-size:1rem;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-muted);cursor:pointer;transition:all .2s}.action-btn-icon--danger{color:#dc2626}.view-progress-bar-wrapper{margin:.75rem 0 0}.view-progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.view-progress-bar-label{font-size:.75rem;color:var(--text-muted);font-weight:600}.view-progress-bar-track{width:100%;height:6px;background:var(--bg-neutral);border-radius:3px;overflow:hidden}.view-progress-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.view-progress-bar-info{margin-top:.3rem;font-size:.78rem;color:var(--text-muted)}.view-progress-bar-expired{color:var(--danger-color);font-weight:700;font-size:.8rem}.view-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.7rem;font-weight:700}.btn-reactivate{width:100%;padding:8px;border-radius:8px;border:1px solid #d1fae5;background:#ecfdf5;color:#10b981;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-reactivate:hover{background:#d1fae5}.mono-value{font-family:monospace;font-weight:700}.text-center{text-align:center}.text-right{text-align:right}.flex-center{display:flex;align-items:center;justify-content:center}.flex-align-center{display:flex;align-items:center}.gap-1{gap:1rem}.gap-05{gap:.5rem}.mt-1{margin-top:1rem}.mb-1{margin-bottom:1rem}.mb-0{margin-bottom:0!important}.p-2{padding:2rem}.d-block{display:block!important}.w-100{width:100%}.h-auto{height:auto}.action-btn--import{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.pac-import-result{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;font-size:.85rem}.pac-import-result--ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}.pac-import-result--error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.pac-import-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.pac-import-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit;opacity:.6;padding:0 .2rem}.pac-import-close:hover{opacity:1}.parcel-hero-map-shell{position:relative;width:220px;height:100px;cursor:pointer;transition:transform .2s ease}.parcel-hero-map{width:220px;height:100px;border-radius:16px;overflow:hidden;border:1px solid rgba(28,64,39,.1);box-shadow:0 8px 20px #1c402714;background:#eee}.parcel-hero-map-shell:hover{transform:scale(1.02)}.parcel-map-legend{position:absolute;left:8px;bottom:8px;display:flex;gap:.45rem;flex-wrap:wrap;padding:.3rem .45rem;border-radius:999px;background:#0f172aa3;color:#f8fafc;font-size:.62rem;font-weight:700;line-height:1;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.parcel-map-legend__item{display:inline-flex;align-items:center;gap:.3rem}.parcel-map-legend__swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.parcel-map-legend__swatch--plot{border:2px dashed rgba(255,255,255,.95);background:#f8fafc42}.parcel-map-legend__swatch--crop{border:2px solid #00c389;background:#00c389bf}.parcel-geo-info{display:flex;gap:2rem;padding:1rem 0}.geo-item{display:flex;flex-direction:column;gap:.25rem}.geo-item span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;font-weight:700}.parcel-view{display:flex;flex-direction:column;gap:1.25rem}.parcel-shell{display:flex;flex-direction:column;gap:1rem}.parcel-back-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.parcel-back-btn,.parcel-action-btn,.parcel-inline-btn,.parcel-tab-btn{border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.parcel-back-btn{padding:.65rem 1.1rem;border-radius:999px;background:#ffffffe0;color:#1c3a27;font-weight:700;font-size:.9rem;border:1px solid rgba(28,64,39,.14);box-shadow:0 2px 8px #0000000f}.parcel-back-btn:hover{background:#fff;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.parcel-campaign-pill{padding:.45rem .8rem;border-radius:999px;background:#1c402714;color:#28543a;font-size:.82rem;font-weight:700}.parcel-hero{padding:1.35rem;border-radius:24px;background:radial-gradient(circle at top left,rgba(123,166,106,.28),transparent 28%),linear-gradient(135deg,#fffcf4f2,#ecf4e6fa);border:1px solid rgba(123,166,106,.18)}.parcel-hero-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.parcel-hero-title{display:flex;align-items:center;gap:1rem}.parcel-crop-badge{width:72px;height:72px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:#ffffffb8;box-shadow:inset 0 1px #ffffffa6,0 16px 30px #22543a24}.parcel-crop-badge__emoji{font-size:2rem}.parcel-crop-badge__img{width:34px;height:34px;object-fit:contain}.parcel-eyebrow,.parcel-panel__eyebrow{margin:0 0 .2rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#53715b}.parcel-hero h1,.parcel-panel h2{margin:0;color:#183427}.parcel-subtitle{margin:.35rem 0 0;color:#51715c}.parcel-actions,.parcel-panel__header-actions{display:flex;gap:.65rem;flex-wrap:wrap}.parcel-action-btn,.parcel-inline-btn{padding:.78rem 1rem;border-radius:14px;font-weight:700;background:linear-gradient(135deg,#28543a,#4d7a47);color:#fff;box-shadow:0 14px 30px #28543a2e}.parcel-action-btn--ghost,.parcel-inline-btn--ghost{background:#ffffffb3;color:#214730;box-shadow:none}.parcel-action-btn--danger{background:linear-gradient(135deg,#b42318,#dc2626);color:#fff;box-shadow:0 14px 30px #b423182e}.parcel-kpis{margin-top:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.parcel-kpi{padding:.95rem 1rem;border-radius:18px;background:#ffffffbd;border:1px solid rgba(123,166,106,.16)}.parcel-kpi__label{display:block;font-size:.75rem;color:#5d7463;margin-bottom:.2rem}.parcel-kpi__value{font-size:1.18rem;color:#1d382b}.is-positive{color:#18804b}.is-negative{color:#bb3d39}.parcel-content-block{display:flex;flex-direction:column;gap:0;overflow:hidden}.parcel-tabs-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 .75rem;border-bottom:1px solid var(--border-subtle, rgba(0,0,0,.07))}.parcel-tabs-row .settings-tabs{margin-bottom:0;border-bottom:none;gap:0}.parcel-content-block .parcel-panel{padding:1.25rem}.parcel-content-block .parcel-content-grid{padding:1rem}.parcel-content-block .glass-card{background:var(--bg-page, #f8fafc);box-shadow:none;border:1px solid var(--border-subtle, rgba(0,0,0,.07))}.parcel-content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem}.parcel-content-grid--forecast{align-items:start}.parcel-panel{padding:1.25rem;border-radius:24px}.parcel-panel--full{grid-column:1 / -1}.parcel-panel__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.forecast-panel{position:relative;overflow:hidden}.forecast-panel--main{background:radial-gradient(circle at top right,rgba(138,154,91,.16),transparent 30%),linear-gradient(180deg,#fffffff5,#f4f8f1fa);border:1px solid rgba(138,154,91,.14)}.forecast-panel--sidebar{position:sticky;top:1rem}.forecast-panel__header{margin-bottom:1.25rem}.forecast-panel__lede{margin:.45rem 0 0;max-width:44ch;color:#587060;line-height:1.5}.forecast-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;padding:1.2rem;margin-bottom:1rem;border-radius:22px;background:linear-gradient(135deg,#f4faecfa,#fffcf7eb);border:1px solid rgba(138,154,91,.14)}.forecast-hero__main{display:flex;flex-direction:column;gap:.45rem}.forecast-hero__kicker{display:inline-flex;align-self:flex-start;padding:.38rem .72rem;border-radius:999px;background:#4d7a471f;color:#28543a;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.forecast-hero__value{font-size:clamp(2.2rem,4vw,3rem);line-height:1}.forecast-hero__main p{margin:0;max-width:36ch;color:#587060;line-height:1.5}.forecast-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.forecast-hero-stat{padding:1rem;border-radius:18px;background:#ffffffe0;border:1px solid rgba(138,154,91,.12);box-shadow:inset 0 1px #fff9}.forecast-hero-stat span,.forecast-insight-card__label{display:block;color:#627769;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.forecast-hero-stat strong,.forecast-insight-card strong{display:block;margin-top:.35rem;color:#183427;font-size:1.18rem}.parcel-plan-grid,.forecast-scenario-grid,.phyto-summary,.harvest-summary,.ppf-inline__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin-bottom:1rem}.parcel-plan-card,.forecast-scenario-card,.phyto-summary__card,.harvest-summary__card,.ppf-inline__stat{padding:1rem 1.25rem;border-radius:18px;background:var(--bg-page);border:1px solid var(--border-subtle)}.harvest-summary__card{display:flex;flex-direction:column;gap:.4rem}.ppf-inline__stat{display:flex;flex-direction:column;gap:.35rem}.forecast-scenario-grid--enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-scenario-card{background:#ffffffdb;border-color:#8a9a5b1f;box-shadow:0 12px 30px #243c2b0f}.forecast-scenario-card.is-highlighted{background:linear-gradient(180deg,#ecf5e5f5,#fffffff5);border-color:#4d7a4738}.forecast-scenario-card__top{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.35rem}.parcel-plan-card__label,.forecast-scenario-card__label{display:block;color:var(--text-muted);font-size:.76rem}.forecast-scenario-card__badge{padding:.26rem .58rem;border-radius:999px;background:#53715b14;color:#355740;font-size:.72rem;font-weight:700;white-space:nowrap}.parcel-plan-card__value,.forecast-scenario-card__value{display:block;font-size:1.35rem;color:var(--text-main)}.forecast-scenario-card__meta{display:flex;justify-content:space-between;gap:.8rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(138,154,91,.12);color:#607468;font-size:.8rem;font-weight:600}.parcel-plan-card p,.forecast-scenario-card p,.phyto-summary__card span,.harvest-summary__card span,.ppf-inline__stat span{margin:.35rem 0 0;color:var(--text-muted)}.forecast-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.forecast-insight-card{padding:1rem;border-radius:20px;background:#ffffffc7;border:1px solid rgba(138,154,91,.12)}.forecast-insight-card__head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.forecast-insight-card__head strong{margin-top:0;font-size:1rem}.forecast-insight-card p{margin:.45rem 0 0;color:#5f7468}.forecast-coverage-bar{height:10px;margin-top:.9rem;border-radius:999px;background:#8a9a5b1f;overflow:hidden}.forecast-coverage-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7d9150,#2f6a45)}.forecast-callout{padding:1rem 1.05rem;margin-bottom:1rem;border-radius:18px;background:linear-gradient(135deg,#f8fafcf5,#f4f8f1fa);border:1px solid rgba(138,154,91,.12)}.forecast-callout strong{display:block;color:#183427}.forecast-callout p{margin:.35rem 0 0;color:#5d7463}.forecast-form{display:flex;flex-direction:column}.forecast-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.forecast-form__field{display:flex;flex-direction:column;gap:.45rem;padding:.95rem;border-radius:18px;background:#f8fafce0;border:1px solid rgba(138,154,91,.1)}.forecast-form__field span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f7368}.forecast-form__input-wrap{display:flex;align-items:center;gap:.65rem;padding:.2rem;border-radius:14px;background:#ffffffeb;border:1px solid rgba(138,154,91,.12);box-shadow:inset 0 1px #ffffffb3}.forecast-form__input-wrap:focus-within{border-color:#4d7a4759;box-shadow:0 0 0 4px #8a9a5b1f}.forecast-form__input-wrap:has(input:disabled){background:#f1f5f1b3;border-color:#8a9a5b14;cursor:not-allowed}.forecast-form__input-wrap input:disabled{color:#6b7a6f;cursor:not-allowed}.forecast-form__input-wrap input{width:100%;border:none;outline:none;padding:.75rem .85rem;background:transparent;color:#183427;font-size:1.02rem;font-weight:700;box-sizing:border-box}.forecast-form__input-wrap small{flex-shrink:0;padding:.45rem .7rem;border-radius:10px;background:#53715b14;color:#355740;font-size:.75rem;font-weight:700}.forecast-form__hint{font-style:normal;color:#667a70;font-size:.82rem}.forecast-breakdown{display:flex;flex-direction:column;gap:.1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(138,154,91,.12)}.forecast-breakdown__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem 0;border-bottom:1px solid rgba(138,154,91,.12)}.forecast-breakdown__row:last-child{padding-bottom:0;border-bottom:none}.forecast-breakdown__row span{color:#607468}.forecast-breakdown__row strong{text-align:right;color:#183427}.forecast-sidebar-actions{display:flex;justify-content:flex-end;margin-top:1rem}.timeline-list{display:flex;flex-direction:column;gap:.4rem}.timeline-sections{display:flex;flex-direction:column;gap:1.25rem}.timeline-section__label{margin-bottom:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#53715b}.timeline-group{margin-bottom:.65rem}.timeline-date-header{display:flex;align-items:center;gap:.65rem;padding:.3rem 0;margin-bottom:.3rem;font-size:.78rem;font-weight:700;color:#6b7e72;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;transition:color .15s ease}.timeline-date-header:hover,.timeline-date-header.is-selected{color:#28543a}.timeline-date-header:after{content:"";flex:1;height:1px;background:#8a9a5b29;transition:background .15s ease}.timeline-date-header.is-selected:after{background:#28543a52}.timeline-group .timeline-item{margin-bottom:.3rem}.parcel-subsection{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid rgba(138,154,91,.14)}.parcel-subsection__title{margin:0 0 .9rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#53715b}.timeline-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;text-align:left;padding:.45rem .75rem;border-radius:12px;background:var(--bg-page);border:1px solid var(--border-subtle);cursor:pointer;transition:background .15s ease}.timeline-item.is-selected{background:#3b82f612;border-color:#3b82f64d}.timeline-item__check{display:flex;align-items:center;justify-content:center;width:20px;cursor:pointer}.timeline-item__check input[type=checkbox]{width:15px;height:15px;accent-color:#28543a;cursor:pointer}.timeline-item__check-placeholder{width:20px}.timeline-item--planned{border-style:dashed;background:#f1f5f9bd}.timeline-item--suggestion{background:linear-gradient(135deg,#eff6fff5,#fffffff5);border-color:#93c5fdd1}.timeline-item--validated{background:linear-gradient(135deg,#f0fdf4e6,#fffffff5);border-color:#86efacd9}.timeline-item--pending{background:linear-gradient(135deg,#fffbebf5,#fffffff5);border-color:#fde047c7}.timeline-item--rejected{background:linear-gradient(135deg,#fff1f2f5,#fffffff5);border-color:#fca5a5db}.timeline-item__date span{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.48rem .65rem;border-radius:999px;background:#53715b14;color:#355740;font-size:.82rem;font-weight:700}.timeline-item__body-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.timeline-item__body strong{display:block;color:var(--text-main)}.timeline-item__body p{margin:.22rem 0 0;color:var(--text-muted)}.timeline-item__cost{color:#2d5d40;font-weight:800;white-space:nowrap}.timeline-item__aside{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.timeline-item__action{border:none;border-radius:999px;padding:.55rem .85rem;background:#1d4ed81f;color:#1d4ed8;font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .18s ease,background .18s ease}.timeline-item__action:hover:not(:disabled){transform:translateY(-1px);background:#1d4ed82e}.timeline-item__action:disabled{opacity:.65;cursor:wait}.parcel-empty{padding:1.1rem;border-radius:18px;background:var(--bg-page);color:var(--text-muted);text-align:center}.timeline-bulk-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:999px;background:#1c3a27;color:#fff;box-shadow:0 8px 24px #00000038;z-index:500;white-space:nowrap}.timeline-bulk-bar__count{font-size:.88rem;font-weight:700;padding-right:.5rem;border-right:1px solid rgba(255,255,255,.22)}.timeline-bulk-bar__cancel{border:none;background:transparent;color:#ffffffbf;font-size:.85rem;font-weight:600;cursor:pointer;padding:.3rem .5rem;border-radius:999px;transition:color .15s ease}.timeline-bulk-bar__cancel:hover{color:#fff}.timeline-bulk-bar__delete{border:none;background:#dc2626d9;color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;padding:.38rem .85rem;border-radius:999px;transition:background .15s ease}.timeline-bulk-bar__delete:hover:not(:disabled){background:#dc2626}.timeline-bulk-bar__delete:disabled{opacity:.6;cursor:wait}.bulk-delete-modal{max-width:480px;padding:1.5rem;resize:none;min-height:0}.bulk-delete-modal h3{margin:0 0 .4rem;color:#183427}.bulk-delete-modal__warning{margin:0 0 1rem;color:#b42318;font-size:.85rem;font-weight:600}.bulk-delete-modal__list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:240px;overflow-y:auto}.bulk-delete-modal__list li{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .75rem;border-radius:10px;background:var(--bg-page);border:1px solid var(--border-subtle)}.bulk-delete-modal__list li strong{font-size:.9rem;color:var(--text-main)}.bulk-delete-modal__list li span{font-size:.78rem;color:var(--text-muted)}.bulk-delete-modal__actions{display:flex;justify-content:flex-end;gap:.65rem}.parcel-table{width:100%;border-collapse:collapse}.parcel-table th,.parcel-table td{padding:1rem;border-bottom:1px solid var(--border-subtle);text-align:left}.parcel-table th{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.parcel-table tbody tr{cursor:pointer}.ppf-inline__stat--n{background:#2563eb14}.ppf-inline__stat--p{background:#a855f714}.ppf-inline__stat--k{background:#f59e0b14}.phyto-alert-list{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.phyto-alert-pill,.status-pill{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.phyto-alert-pill{background:#bb3d391a;color:#a83832}.status-pill--draft{background:#64748b1f;color:#475569}.status-pill--planned{background:#94a3b829;color:#475569}.status-pill--suggestion{background:#3b82f61f;color:#1d4ed8}.status-pill--pending,.status-pill--pending_ticket{background:#f59e0b1f;color:#b56a00}.status-pill--validated{background:#18804b1a;color:#18804b}.status-pill--rejected,.status-pill--disputed{background:#bb3d391a;color:#a83832}.status-pill--invoiced{background:#2563eb1f;color:#2257b5}.compliance-card{padding:1.1rem;border-radius:18px}.compliance-card.is-clear{background:#18804b14}.compliance-card.is-warning{background:#bb3d3914}.table-scroll{overflow-x:auto}.harvest-form{display:flex;flex-direction:column;gap:1rem}.harvest-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.harvest-form label,.harvest-form__notes{display:flex;flex-direction:column;gap:.35rem}.harvest-form span,.harvest-form__notes span{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.harvest-form input,.harvest-form select,.harvest-form textarea{width:100%;padding:.8rem .9rem;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-main);box-sizing:border-box}.harvest-form__actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.parcel-inline-btn--danger{color:#b42318}@media (max-width: 960px){.parcel-hero-main{flex-direction:column;align-items:stretch}.parcel-hero-map-shell{width:100%}.parcel-hero-map{width:100%;height:120px;margin:.5rem 0}.parcel-content-grid{grid-template-columns:1fr}.forecast-panel--sidebar{position:static}.forecast-hero,.forecast-scenario-grid--enhanced,.forecast-insight-grid{grid-template-columns:1fr}.forecast-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.parcel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.harvest-form__grid{grid-template-columns:1fr}}@media (max-width: 720px){.parcel-hero-main,.parcel-panel__header,.parcel-back-row{flex-direction:column;align-items:stretch}.timeline-item{grid-template-columns:1fr}.timeline-item__body-top{flex-direction:column;align-items:flex-start}.forecast-form__grid,.forecast-hero__stats{grid-template-columns:1fr}.forecast-breakdown__row{flex-direction:column;align-items:flex-start}.forecast-breakdown__row strong{text-align:left}.forecast-sidebar-actions,.parcel-panel__header-actions{justify-content:stretch}.forecast-sidebar-actions .parcel-inline-btn,.parcel-panel__header-actions .parcel-inline-btn{width:100%}.timeline-item__cost{justify-self:flex-start}.timeline-item__aside{align-items:flex-start}.parcel-kpis{grid-template-columns:1fr}}.pac-view-shell{display:flex;flex-direction:column;gap:1.5rem}.pac-settings-tabs{margin-bottom:1rem}.pac-view-panel{display:flex;flex-direction:column}.pac-bcae-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.pac-bcae-summary{border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid transparent}.pac-bcae-summary--success{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.pac-bcae-summary--warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.pac-bcae-summary--danger{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.pac-bcae-summary__content{display:flex;flex-direction:column;gap:.65rem}.pac-bcae-summary__title{display:flex;align-items:center;gap:.55rem;font-size:1rem}.pac-bcae-summary__text{margin:0;line-height:1.45}.pac-bcae-summary__chips{display:flex;gap:.5rem;flex-wrap:wrap}.pac-bcae-chip{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#ffffffb8;border:1px solid rgba(148,163,184,.28);color:inherit;font-size:.82rem;font-weight:700}.pac-maec-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.pac-maec-add-btn,.pac-maec-remove-btn{align-self:flex-end}.pac-maec-item{border:1px solid var(--border-subtle);border-radius:12px;padding:.9rem;background:var(--bg-main);margin-bottom:.85rem}.pac-maec-checklist{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.pac-bcae-editor{margin-top:1rem;border:1px solid var(--border-subtle);border-radius:12px;padding:1rem;background:var(--bg-main)}.pac-bcae-editor-title{margin:0 0 .9rem;color:var(--text-main);font-size:.95rem}.pac-bcae-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1rem}.pac-bcae-editor-grid .pac-field{margin-bottom:0}.pac-bcae-tool-section{display:flex;flex-direction:column;gap:1rem}.pac-bcae-summary-mini{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.pac-bcae-summary-mini--success{background:#dcfce7;color:#166534}.pac-bcae-summary-mini--warning{background:#fef3c7;color:#92400e}.pac-bcae-summary-mini--danger{background:#fee2e2;color:#991b1b}.interventions-layout{display:flex;flex-direction:column;gap:.75rem}.int-list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.btn-add-op{padding:.4rem .9rem;background:var(--primary-color, #22c55e);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:700;box-shadow:0 2px 8px var(--primary-glow, rgba(34,197,94,.3))}.btn-add-op:hover{opacity:.9}.int-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--card-shadow);z-index:100;display:flex;flex-direction:column;overflow:hidden;min-width:200px;max-height:240px;overflow-y:auto}.int-dropdown-empty{padding:10px 14px;font-size:.8rem;color:var(--text-muted)}.int-dropdown-item{padding:8px 14px;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;font-size:.82rem;white-space:nowrap;color:var(--text-main)}.int-dropdown-item:hover{background:var(--bg-page)}.int-dropdown-item:last-child{border-bottom:none}.int-unified-list{display:flex;flex-direction:column;gap:6px}.int-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem;border:1px dashed var(--border-subtle);border-radius:10px}.int-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid;cursor:pointer;transition:box-shadow .15s,border-color .15s;background:var(--bg-card)}.int-item:hover{box-shadow:0 2px 10px #00000014}.item-planned{border-color:#cbd5e1;border-style:dashed;background:var(--bg-page)}.item-disabled{opacity:.55}.item-validated{border-color:var(--success-border);background:var(--success-bg)}.item-pending{border-color:var(--warning-border);background:var(--warning-bg)}.item-rejected{border-color:var(--danger-border);background:var(--danger-bg)}.item-todo{border-color:var(--info-border);background:var(--info-bg)}.item-urgent{outline:2px solid #fb7185;outline-offset:1px}.int-chip{flex-shrink:0;font-size:.65rem;font-weight:800;padding:2px 7px;border-radius:99px;white-space:nowrap;margin-top:1px}.chip-planned{background:#e2e8f0;color:#475569}.chip-validated{background:#dcfce7;color:#15803d}.chip-pending{background:#fef9c3;color:#854d0e}.chip-rejected{background:#fee2e2;color:#b91c1c}.chip-todo{background:#dbeafe;color:#1d4ed8}.int-priority-badge{flex-shrink:0;font-size:.75rem;margin-top:1px}.int-type-icon{flex-shrink:0;font-size:1.2rem;margin-top:1px}.int-body{flex:1;min-width:0}.int-name{font-weight:700;font-size:.875rem;color:var(--text-main);margin-bottom:2px}.int-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.72rem;color:var(--text-muted)}.int-contractor{color:#1d4ed8;font-weight:600}.int-date-picker{margin-top:3px;display:flex;align-items:center;gap:4px}.int-wo-badge{margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.int-wo-chip{font-size:.65rem;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;padding:2px 7px;border-radius:99px;font-weight:800}.int-phyto-alerts{margin-top:5px;display:flex;flex-direction:column;gap:3px}.int-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.int-cost{font-weight:800;font-size:.82rem;color:var(--success-color, #22c55e);white-space:nowrap}.int-actions{display:flex;gap:4px}.btn-validate{background:var(--primary-color, #22c55e);color:#fff;border:none;cursor:pointer;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:5px;white-space:nowrap}.btn-wo{background:var(--info-bg);color:var(--info-color);border:1px solid var(--info-border);cursor:pointer;font-size:.72rem;font-weight:800;padding:3px 6px;border-radius:5px}.btn-gps-map{background:transparent;color:#1565c0;border:1px solid #90caf9;cursor:pointer;font-size:.82rem;padding:2px 5px;border-radius:5px;line-height:1.4}.btn-gps-map:hover{background:#e3f2fd}.modern-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--card-shadow)}.modern-card:hover{box-shadow:0 8px 30px #0000001f;border-color:var(--border-strong)}.area-badge{background:var(--bg-neutral);color:var(--text-muted);padding:2px 8px;border-radius:6px;font-size:.8rem;font-weight:800;border:1px solid var(--border-subtle)}.area-badge--zero{background:var(--danger-color);color:#fff;border-color:var(--danger-color);opacity:.9}.variety-badge{color:var(--text-dim);font-size:.75rem;font-style:italic;font-weight:600;background:var(--bg-page);padding:2px 6px;border-radius:4px}.margin-kpi-card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;padding:8px 12px;min-width:110px;text-align:right;transition:all .2s ease;cursor:pointer}.margin-kpi-card:hover{background:var(--bg-card);box-shadow:var(--card-shadow)}.kpi-label{font-size:.6rem;font-weight:700;text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em;margin-bottom:2px}.kpi-value{font-size:1rem;font-weight:800;line-height:1}.kpi-unit{font-size:.75rem;font-weight:700;opacity:.8}.kpi-placeholder{font-size:.8rem;font-weight:700;color:var(--text-dim);font-style:italic}.kpi-total{font-size:.75rem;font-weight:700;color:var(--text-muted);margin-top:4px}.expand-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:transform .3s ease;margin-left:.5rem}.expand-arrow.is-expanded{transform:rotate(180deg);color:var(--text-main)}.crop-img-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle}.rotation-icon .crop-img-icon{width:20px;height:20px}.crop-item-header{display:flex;justify-content:space-between;align-items:center;width:100%}.crop-header-main{width:100%}@media (max-width: 768px){.crop-header-main{flex-direction:column;align-items:flex-start;gap:1rem}.crop-header-right{width:100%;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.rotation-flow-container{flex-direction:column;align-items:flex-start!important;gap:1rem!important}}@media (max-width: 480px){.crop-header-right{flex-direction:column;align-items:flex-start;gap:.5rem}}.phyto-alert-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;white-space:nowrap}.phyto-alert-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001f}.phyto-alert-badge--critical{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.phyto-alert-badge--warning{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.phyto-alert-badge-count{background:#0000001a;border-radius:10px;padding:1px 6px;font-size:.72rem}.intervention-phyto-alert{font-size:.73rem;font-weight:500;padding:3px 8px;border-radius:5px;line-height:1.4}.intervention-phyto-alert--critical{background:#fee2e2;color:#991b1b}.intervention-phyto-alert--warning{background:#fef9c3;color:#854d0e}.intervention-phyto-alert--info{background:#eff6ff;color:#1e40af}.params-tab-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 16px 16px;padding:1.5rem 2rem}.params-sections-container{display:flex;flex-direction:column;gap:2rem}.params-sections-row{display:flex;gap:2rem}.flex-1{flex:1}.params-section{padding:1.15rem 1.25rem;border-radius:18px;background:linear-gradient(180deg,#ffffffeb,#f8fafceb);border:1px solid rgba(138,154,91,.12)}.params-header{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem}.params-icon{font-size:1.2rem;opacity:.9}.params-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0;white-space:nowrap}.params-divider{height:1px;background:linear-gradient(to right,var(--border-subtle),transparent);flex:1;margin-left:10px}.params-form-grid{display:grid;gap:1.25rem 1.5rem}.params-form-grid--4{grid-template-columns:repeat(4,1fr)}.params-form-grid--2{grid-template-columns:repeat(2,1fr)}.refined-input-group{display:flex;flex-direction:column;gap:6px}.refined-input-group label{font-size:.72rem;font-weight:800;color:#5f7368;text-transform:uppercase;letter-spacing:.08em;margin-left:.15rem}.input-wrapper{position:relative;display:flex;align-items:center;border-radius:14px}.input-wrapper select,.input-wrapper input{width:100%;min-height:48px;padding:.85rem 1rem;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:14px;font-size:.96rem;font-weight:600;color:var(--text-main);font-family:var(--font-family);box-sizing:border-box;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-wrapper select:hover,.input-wrapper input:hover{border-color:var(--border-strong);background:var(--bg-card)}.input-wrapper select:focus,.input-wrapper input:focus{border-color:var(--accent-color);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}.input-wrapper select:disabled,.input-wrapper input:disabled{background:#f1f5f9d9;color:var(--text-muted);cursor:not-allowed}.field-unit{position:absolute;right:.9rem;font-size:.72rem;font-weight:800;color:var(--text-dim);pointer-events:none;background:#ffffffeb;padding:.2rem .45rem;border-radius:999px;transition:opacity .2s}.input-wrapper:focus-within .field-unit{background:#fffffffa}.field-unit.mini{font-size:.64rem;opacity:.8}.highlight-primary .input-wrapper input{border-color:#4d7a4747;box-shadow:inset 0 0 0 1px #4d7a4714}.highlight-success .input-wrapper input{border-color:#10b98147;box-shadow:inset 0 0 0 1px #10b98114}.val-bold{font-size:1.1rem!important;font-weight:700!important}.success-text{color:var(--success-color)!important}.params-refined-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px dashed var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.cover-crops-panel{display:flex;flex-direction:column;gap:1rem}.cover-crops-list{display:flex;flex-wrap:wrap;gap:.65rem}.cover-crop-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:999px;background:#ecfdf5f2;border:1px solid rgba(16,185,129,.28);color:#047857;font-size:.86rem;font-weight:700}.cover-crop-pill__remove{border:none;background:transparent;color:inherit;font-size:1rem;line-height:1;cursor:pointer;padding:0}.cover-crops-empty{margin:0;color:var(--text-muted);font-size:.9rem}.cover-crops-select-group{max-width:360px}.action-btn-danger{background:#fff1f2;border:1px solid #fecdd3;color:var(--danger-color);font-size:.8rem;font-weight:700;padding:8px 16px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.action-btn-danger:hover{background:#ffe4e6;border-color:var(--danger-color);transform:translateY(-1px)}.action-btn-save{background:var(--primary-color);color:#fff;border:none;padding:12px 32px;border-radius:12px;font-size:.85rem;font-weight:800;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px var(--primary-glow)}.action-btn-save:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px var(--primary-glow)}.action-btn-save:active{transform:translateY(0)}.btn-load-ref{flex-shrink:0;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:6px;padding:3px 8px;font-size:.68rem;font-weight:700;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn-load-ref:hover{background:#22c55e0f;border-color:var(--primary-color);color:var(--primary-color)}@media (max-width: 900px){.params-sections-row{flex-direction:column}}@media (max-width: 640px){.params-form-grid--4{grid-template-columns:1fr 1fr}.params-form-grid--2{grid-template-columns:1fr}.params-tab-content{padding:1rem 1.25rem}}.kpi-realized-badge{font-size:.62rem;font-weight:700;color:#16a34a;letter-spacing:.03em;margin-top:1px}.yield-suggestion-btn{display:inline-block;margin-left:.5rem;background:none;border:none;color:#16a34a;font-size:.72rem;font-weight:700;cursor:pointer;padding:0;vertical-align:middle;white-space:nowrap}.yield-suggestion-btn:hover{text-decoration:underline}.op-modal{width:96%;max-height:min(94dvh,920px);background:#fff;border-radius:20px;box-shadow:0 24px 64px #0f172a33;display:flex;flex-direction:column;overflow:hidden;margin:auto}.op-modal--wide{max-width:980px}.op-modal--wizard{max-width:560px}.wizard-nav{display:flex;align-items:center;gap:0;padding:.85rem 1.4rem;border-bottom:1px solid #f1f5f9;background:#f8fafc}.wz-step{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:#94a3b8;transition:color .15s}.wz-step.active{color:#0f172a}.wz-step.done{color:#15803d}.wz-step__num{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.72rem;font-weight:800;background:#e2e8f0;color:#64748b;flex-shrink:0;transition:background .15s,color .15s}.wz-step.active .wz-step__num{background:#0f172a;color:#fff}.wz-step.done .wz-step__num{background:#dcfce7;color:#15803d}.wz-sep{flex:1;height:1.5px;background:#e2e8f0;margin:0 .6rem}.wz-body{display:flex;flex-direction:column}.wz-page{display:flex;flex-direction:column;gap:1.1rem;flex:1}.wz-page__sub{font-size:.88rem;color:#64748b;margin:0}.record-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}@media (max-width: 480px){.record-cards{grid-template-columns:1fr}}.record-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .6rem;border:2px solid #e2e8f0;border-radius:14px;background:#f8fafc;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.record-card:hover:not(:disabled){border-color:#cbd5e1;background:#fff}.record-card.active{border-color:#22c55e;background:#f0fdf4}.record-card:disabled{opacity:.45;cursor:not-allowed}.record-card__icon{font-size:1.6rem}.record-card__title{font-size:.83rem;font-weight:700;color:#1e293b}.record-card__desc{font-size:.72rem;color:#64748b;line-height:1.4}.record-card.active .record-card__title{color:#15803d}.record-detail{display:flex;flex-direction:column;gap:.85rem;padding-top:.25rem;border-top:1px solid #f1f5f9;margin-top:.25rem}.gps-launch-block{display:flex;flex-direction:column;gap:.75rem}.gps-launch-hint{font-size:.85rem;color:#475569;margin:0;line-height:1.5}.btn-gps-launch{padding:.85rem 1.5rem;background:#15803d;color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-gps-launch:hover{opacity:.88}.warn-inline{font-size:.8rem;color:#d97706;margin:0}.btn-inline-link{background:none;border:none;color:#2563eb;font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.status-row{display:flex;flex-direction:column;gap:.4rem}.op-modal__header{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.op-modal__header-left{display:flex;align-items:center;gap:.75rem;flex:1}.op-modal__mode-badge{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .65rem;border-radius:20px;white-space:nowrap}.badge-planned{background:#dbeafe;color:#1d4ed8}.badge-realized{background:#dcfce7;color:#15803d}.op-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.op-mode-tabs{display:flex;border:1.5px solid #e2e8f0;border-radius:10px;overflow:hidden}.op-mode-tab{padding:.45rem 1rem;border:none;background:#fff;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.op-mode-tab:first-child{border-right:1.5px solid #e2e8f0}.op-mode-tab.active{background:#0f172a;color:#fff}.op-mode-tab.disabled,.op-mode-tab:disabled{opacity:.35;cursor:not-allowed}.op-modal__close{background:#f1f5f9;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.78rem;color:#64748b;flex-shrink:0;transition:background .15s}.op-modal__close:hover{background:#e2e8f0}.op-modal__body{flex:1 1 auto;min-height:0;padding:1.25rem 1.4rem 0;overflow-y:auto;height:auto}.collapsible{overflow:hidden;transition:opacity .18s ease,max-height .22s ease}.collapsible[style*="display: none"]{max-height:0;opacity:0;pointer-events:none}.op-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.op-col{display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width: 680px){.op-form-grid{grid-template-columns:1fr}}.op-section{display:flex;flex-direction:column;gap:.65rem}.op-section__label{font-size:.7rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}@media (max-width: 520px){.type-grid{grid-template-columns:repeat(2,1fr)}}.type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:.6rem .4rem;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s}.type-btn:hover:not(.active){border-color:#cbd5e1;background:#fff}.type-btn.active{border-color:#22c55e;background:#f0fdf4}.type-icon{font-size:1.3rem}.type-label{font-size:.67rem;font-weight:700;color:#475569;text-align:center;line-height:1.2}.type-btn.active .type-label{color:#15803d}.mode-toggle{display:flex;border:1.5px solid #e2e8f0;border-radius:10px;overflow:hidden}.mode-btn{flex:1;padding:.6rem .75rem;border:none;background:#f8fafc;cursor:pointer;font-size:.83rem;font-weight:600;color:#64748b;transition:background .15s,color .15s}.mode-btn:first-child{border-right:1.5px solid #e2e8f0}.mode-btn.active{background:#0f172a;color:#fff}.card-inner{background:#f8fafc;border:1.5px solid #e2e8f0;padding:.9rem 1rem;border-radius:12px}.section-label{font-size:.7rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .65rem;display:block}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem}@media (max-width: 520px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}.input-group{margin-bottom:0}.input-group label{display:block;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.58rem .75rem;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.9rem;background:#fff;color:#0f172a;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.input-group textarea{resize:vertical;min-height:60px}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.input-group input.auto-filled{background:#f0fdf4;border-color:#86efac}.auto-tag{display:inline-block;font-size:.65rem;font-weight:700;background:#dcfce7;color:#15803d;border-radius:4px;padding:0 5px;margin-left:4px;text-transform:none;letter-spacing:0}.status-priority-row{display:flex;flex-direction:column;gap:.65rem}.status-toggle,.priority-toggle{display:flex;gap:.45rem;flex-wrap:wrap}.status-btn,.priority-btn{padding:.42rem .9rem;border-radius:20px;border:1.5px solid #e2e8f0;font-size:.8rem;font-weight:700;cursor:pointer;background:#f8fafc;color:#64748b;transition:all .15s}.status-btn.status-ok.active{background:#dcfce7;border-color:#22c55e;color:#15803d}.status-btn.status-pending.active{background:#fef9c3;border-color:#eab308;color:#854d0e}.status-btn.status-rejected.active{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.status-btn.status-todo.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.priority-btn.active{background:#f0fdf4;border-color:#22c55e;color:#15803d}.priority-btn.priority-urgent.active{background:#fff1f2;border-color:#fb7185;color:#be123c}.enabled-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#0f172a;cursor:pointer;-webkit-user-select:none;user-select:none}.enabled-row input[type=checkbox]{width:16px;height:16px;accent-color:#22c55e}.enabled-hint{color:#94a3b8;font-size:.78rem}.phyto-section{margin-bottom:0}.phyto-disclaimer{margin-bottom:10px;padding:8px 12px;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:4px;font-size:.8rem;color:#78350f;line-height:1.5}.phyto-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;margin:3px 0 0;padding:4px 0;list-style:none;max-height:220px;overflow-y:auto}.phyto-dropdown li{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.85rem;transition:background .1s}.phyto-dropdown li:hover{background:#f8fafc}.phyto-name{flex:1;font-weight:600;color:#1e293b}.phyto-amm{font-size:.75rem;color:#64748b}.phyto-status{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px}.phyto-status.ok{background:#dcfce7;color:#15803d}.phyto-status.warn{background:#fef9c3;color:#854d0e}.phyto-selected-tag{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.8rem;font-weight:600;color:#15803d;background:#dcfce7;padding:5px 10px;border-radius:8px}.clear-tag{background:none;border:none;cursor:pointer;color:#64748b;font-size:.85rem;padding:0;margin-left:auto}.ephy-ext-link{font-size:.75rem;color:#2563eb;text-decoration:none}.ephy-ext-link:hover{text-decoration:underline}.usage-info{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.82rem;color:#374151}.live-alerts{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.alert-item{padding:6px 10px;border-radius:7px;font-size:.82rem;font-weight:500}.alert-critical{background:#fee2e2;color:#b91c1c}.alert-warning{background:#fef9c3;color:#854d0e}.alert-info{background:#eff6ff;color:#1d4ed8}.geo-hint{font-size:.75rem;color:#64748b;margin-left:6px;font-weight:400;text-transform:none;letter-spacing:0}.geo-ok{font-size:.75rem;color:#22c55e;margin-left:6px;font-weight:600;text-transform:none;letter-spacing:0}.op-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.4rem;border-top:1px solid #f1f5f9;margin-top:1.25rem;background:#fff;flex-shrink:0;position:sticky;bottom:0;z-index:2}.footer-actions-left,.footer-actions-right{display:flex;gap:.5rem;align-items:center}.btn-disable{padding:.52rem 1rem;background:none;color:#d97706;border:1.5px solid #d97706;border-radius:9px;cursor:pointer;font-weight:700;font-size:.85rem;transition:background .15s}.btn-disable:hover{background:#fffbeb}.btn-delete{padding:.52rem 1rem;background:none;color:#ef4444;border:1.5px solid #ef4444;border-radius:9px;cursor:pointer;font-weight:700;font-size:.85rem;transition:background .15s}.btn-delete:hover{background:#fef2f2}.btn-cancel{padding:.52rem 1rem;border:1.5px solid #e2e8f0;background:#fff;border-radius:9px;cursor:pointer;font-size:.85rem;font-weight:600;color:#64748b;transition:border-color .15s}.btn-cancel:hover{border-color:#94a3b8}.btn-save{padding:.52rem 1.4rem;background:#22c55e;color:#fff;border:none;border-radius:9px;cursor:pointer;font-weight:700;font-size:.88rem;box-shadow:0 4px 12px #22c55e4d;transition:opacity .15s,box-shadow .15s}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (max-height: 900px){.modal-overlay{padding:1rem}.op-modal{max-height:calc(100dvh - 2rem)}.op-modal__body{padding-top:1rem}}@media (max-width: 680px){.op-modal{width:100%;max-height:calc(100dvh - 1rem);border-radius:16px}.modal-overlay{padding:.5rem}.op-modal__header,.op-modal__body,.modal-footer{padding-left:1rem;padding-right:1rem}}.crop-wizard-modal{width:min(95vw,1400px);max-width:none;min-width:720px;height:min(92vh,920px);min-height:620px;max-height:95vh;display:flex;flex-direction:column;resize:both;overflow:hidden;padding:1.5rem}.wizard-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;gap:1rem}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5}.wizard-step.active,.wizard-step.completed{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#64748b}.wizard-step.active .step-number{background:#10b981;color:#fff}.wizard-step.completed .step-number{background:#059669;color:#fff}.step-label{font-size:.85rem;font-weight:600;color:#334155}.step-line{flex:1;height:2px;background:#e2e8f0;max-width:60px;margin-bottom:20px}.wizard-body{min-height:0;flex:1;overflow:auto;display:flex;flex-direction:column}.wizard-step-content{animation:fadeIn .3s}.wizard-step-content--map{flex:1;min-height:0;display:flex;flex-direction:column}.step-desc{color:#64748b;font-size:.9rem;margin-bottom:1rem}.form-group{margin-bottom:1.2rem;display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;font-weight:600;color:#334155}.wizard-select,.wizard-input{padding:.6rem .8rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;background:#fff}.wizard-select:focus,.wizard-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.wizard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:1.5rem;flex:1;min-height:360px}.split-map-container{position:relative;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;min-height:0}.wizard-map{width:100%;height:100%}.split-map-controls{position:absolute;bottom:16px;left:16px;z-index:1000;display:flex;gap:8px}.btn-draw,.btn-reset,.btn-measure{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #00000026}.btn-draw{background:#fff;color:#334155}.btn-draw.is-active{background:#f59e0b;color:#fff}.btn-measure{background:#fff;color:#334155}.btn-measure.is-active{background:#0ea5e9;color:#fff}.btn-reset{background:#ef4444;color:#fff}.btn-reset--measure{background:#475569}.split-sidebar{display:flex;flex-direction:column;overflow-y:auto;padding-right:4px;min-height:0}.split-instructions{background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.split-parts{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.split-part-card{border:2px solid #e2e8f0;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s;background:#fff}.split-part-card:hover{border-color:#cbd5e1}.split-part-card.selected{border-color:#10b981;background:#f0fdf4}.part-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.part-badge{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;color:#fff}.part-a{background:#10b981}.part-b{background:#3b82f6}.part-share{font-size:.85rem;color:#475569;margin-bottom:.5rem}.part-active-tag{font-size:.8rem;color:#059669;font-weight:600;margin-bottom:.5rem}.split-hint{font-size:.8rem;color:#64748b;font-style:italic;margin-top:1rem}.split-orientation-note{margin:.85rem 0 0;padding:.8rem .9rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:600}.split-orientation-note--compact{margin-top:0;margin-bottom:1rem}.part-inputs{display:flex;flex-direction:column;gap:4px;margin-top:.5rem}.part-inputs label{font-size:.75rem;color:#64748b}.part-inputs input{padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:.85rem}.split-presets{margin-top:1rem}.split-presets--inline{margin-top:0;margin-bottom:1rem}.split-presets__label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.5rem}.split-presets__actions{display:flex;gap:.5rem;flex-wrap:wrap}.split-preset-btn{padding:.55rem .85rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:700;cursor:pointer}.split-preset-btn:hover{border-color:#94a3b8;background:#f8fafc}.measure-card{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;border:1px solid #bae6fd;background:#f0f9ff;display:flex;flex-direction:column;gap:.25rem;color:#0f172a}.measure-card--compact{margin-top:1rem}.measure-card__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#0369a1;font-weight:700}.measure-card p{margin:0;font-size:.8rem;color:#475569}.measure-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.55rem}.measure-list__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border-radius:10px;border:1px solid #dbeafe;background:#ffffffd1}.measure-list__item-main{min-width:0}.measure-list__item-main strong{display:block;color:#0f172a;font-size:.9rem}.measure-list__item-main p{margin:.15rem 0 0;font-size:.78rem;color:#64748b}.measure-delete-btn{border:1px solid #fecaca;background:#fff5f5;color:#b91c1c;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.measure-delete-btn:hover{background:#fee2e2}.summary-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;flex-wrap:wrap;row-gap:.5rem}.summary-label{color:#64748b;margin-right:.5rem;font-size:.9rem}.wizard-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid #f1f5f9;margin-top:1rem;gap:.75rem;flex-wrap:wrap}.wizard-nav{display:flex;gap:.75rem}.btn-prev{padding:.6rem 1.2rem;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:8px;font-weight:600;cursor:pointer}.btn-prev:hover{background:#f8fafc;border-color:#94a3b8}.btn-prev:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f62e}.btn-next{padding:.6rem 1.2rem;border:none;background:#3b82f6;color:#fff;border-radius:8px;font-weight:600;cursor:pointer}.btn-next:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.crop-wizard-modal{width:96vw;min-width:0;min-height:0;height:auto;resize:none}.split-layout{grid-template-columns:1fr;height:auto}.split-map-container{min-height:320px}}.wizard-veggie-link{display:inline-block;margin-top:.35rem;background:none;border:none;color:#16a34a;font-size:.78rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.wizard-veggie-link:hover{color:#15803d}.crop-img-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle;border-radius:4px}.draggable-crop-item .crop-img-icon{width:24px;height:24px;margin-right:4px}.wizard-close-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.wizard-close-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:scale(1.05)}.interactive-table th,.interactive-table td{padding:.5rem;vertical-align:top}.wizard-sidebar::-webkit-scrollbar,.wizard-right-sidebar::-webkit-scrollbar{width:6px}.wizard-sidebar::-webkit-scrollbar-thumb,.wizard-right-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.add-campaign-btn{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2);border-radius:6px;padding:2px 8px;font-size:.8rem;cursor:pointer;font-weight:700;transition:all .2s}.add-campaign-btn:hover{background:#10b98133;color:#047857}.model-radio-card{display:flex;align-items:center;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.model-radio-card:hover{border-color:var(--primary-color);background:#f0fdf4}.model-radio-card.active{border-color:var(--primary-color);background:#ecfdf5;color:#047857;box-shadow:0 0 0 2px #10b9811a}.campaign-checkbox-card{padding:6px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;color:#64748b}.campaign-checkbox-card.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.campaign-checkbox-card.is-locked-card{opacity:.6;background:#f1f5f9;cursor:not-allowed}.btn-text-only{background:none;border:none;padding:0;color:var(--primary-color);font-size:.8rem;cursor:pointer;text-decoration:underline}.lock-toggle-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:0;opacity:.6;transition:opacity .2s}.lock-toggle-btn:hover{opacity:1}.campaign-locked{background-color:#f1f5f9!important;position:relative;cursor:not-allowed!important}.campaign-locked:after{content:"🔒";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;opacity:.1;pointer-events:none}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAeCAYAAACWuCNnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAG7AAABuwBHnU4NQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbvSURBVHic7dtdbBxXFQfw/9nZ3SRKwAP7UFFUQOoHqGnUoEAoNghX9tyxVcpD1X0J+WgiUQmpfUB5ACSgG1qJIKASqBIUIauqAbWseIlqb+bOWHVR6y0FKZBEqdIUQROIREGRx3FFvR/38ODZst3a3nE8Ywfv+T2t7hzdM3fle/bOnWtACCGEEEIIIYQQQgghhBBCCCGEEEIIIcRa0EbfgBDdFItFKwzDAa3175LuWylVAvBIR/MxrXUp6Vxx9dp4VyObVEdKKW591lonXgiVUg6AHzPzk9ls9meVSmUh6RzXkz179uQKhcIgM+8CACI6U6vVnp+enm6knXt4ePiuTCbzWQAwxlSDIHg57ZwroDAMnwKwz3XdBzzPG08hxzsTNprQG2lTjtd13WFmfghAP4A+AJcATFiW9YNKpfL3uP0kUliiX4SG1pqUUpx0wXJd9/PMXAGwPWq6yMyPz8/P/7xarf4nyVwt7QV4JWkU52i8YwBu6bh0wRhzJAiCF5POCQCDg4N2Pp//NYDRjkuTxph9QRCESeYrFov5ubm5R5n5AIAPtV1aYOb7BgYGTpZKJeO67lFmPsbM9/i+/8Ja8y6zylhOYquPXhsvAJRKpczMzMwTAIaJ6LFGo+HNzs5eKRQKNxPRAWb+CoAjWuvn4vS35skWFasxAAdbbUlOYqVUPwAPwI4lLr8J4KeWZT1eqVTmksoZ5d2QghUVKx/AlmVCFph5yPf9l5LMCwBKqUksFqszRHQcAJj5GwB2MfOE7/tfTDKf4zjHiejrAE4CuNhqZ+bf2rY9FYbhGBH92/O8o47j3Oj7/uUk86+3XhsvACilHmPmgW3btn3pxIkTVzuvj4yMfNoY85wxZiQIglPd+lvTZIuq5xiAQwCe6evr218ul5tr6bNd9GiiAbyvS+hFrfVHk8oLbEzBih4Dz+G9K6t3IaLXFhYWdib5eBh911UA8wBu1lq/CQBDQ0M3WJb1OoAdRPQZz/NeSSqnUuofAKpa6/vb26MfwacA7AdwFcCdWuu/JpU3yl1C91VHoquNXhvvyMjIx4wxr1iWtbNSqfxruTjHcR4AcMj3/bu79XnNe1hpFyvHcXYT0QS6FysASHR1tVEKhcIguhQrAGDm23K53BcATCWV27KsAWYGgPOtYgUAU1NT/1RKnQewxxjzOQCJFSwANwI4297QtmLfD+AtZr43m83OJ5iz3bGU+l1OT43XGFNk5mdXKlYAYNv2eBiG31dK3aS1vrRSbOZabqRYLFppFisAIKJxAB+MGf56krk30O64gZlMJnZsHMxsoo8fHxoauqHVHn3+BAAQUaxV57Xq2F54i5nvIaJXm81mYoX5etID491JRH/sFlQul5tEdMoYc3u32FUXrLYvObViBQDM/MQqwi8knX8jEJHpHrXIGJNo8WDm1spph2VZgeu6+5RSX7YsK8D/Xnb8Psmcnebm5h7G4uS9ysxutOH8VQC70sy7UTb7eImImTnWlgkzUyaT6fr3v6qC1fGL8EytVjuQRrECANu2fwHg1TixzPyXNO5hvTHz6VWE/znJ3L7vzxBRa9PzDmb+FYBfArgjajvd39+f9vGGKwACZh5te6mwmc8KburxMvO5TCbzqW5xxWLRArDbsqyu8z32HtZSxSrNM0Hlcrnpum6JmZ+NEb4pHglrtdrz+Xz+AoBbu4Ser9fra37d3YEBfBvAkq+XmfmbpVIp9grwWnie9zSAp9PMcT3Z7OPNZrO/aTQaf1BKfbd9X7RTGIaHmPlcnPNYsVZYSikOw7AB4CAzj/f19e1fjwOMnueVEeMxJJfLbYqCNT093TDGHAGw0qHYBQBH0vj+Pc+bYOb3HFRk5nHf9yeTzgfgMhF9uEvMTQD+71/vR3pqvJOTk28AeBJAeXR09P1LxbiuuxfA9wB8LU6fsVdYrUOhtm0fTusxcAlMRN+KziUt5SqAM3v37r00OZnGfFp/QRC86DjOUCaTGWPm2zoun8fiIbuZtPLX6/UH8/n8rQDuippertfrD6aRKyqOR5VS81ji8Z+IbmfmgwB+mEb+9dZr4wWA/v7+R6rV6k+azeYpx3EezeVyJ7dv335lfn7+lkajcZCZDzPzYd/3/xSnv9gFq3UuaR2LFQDA87xAKVUB8BEAZ6N9nrNEdEZr/TcArLVOPG8aJ9jj8n3/pcHBwZ1btmx5519zmPl0vV5/Ie2V7fT09Nujo6Nus9kcA4CtW7ce1lq/nUYu27a/Mzs7CyI6gMVX/u/CzJeZ+Ue2bcc9pb1aXc8lJZms18YLANE2wkOu694N4OFGo3E8DMMPAHiDiCaY+ZOb4YCsEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhEjYfwGO+b5dFNs4OgAAAABJRU5ErkJggg==);background-image:linear-gradient(transparent,transparent),url(/app/assets/spritesheet-DpIxuf5L.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAA8CAYAAAC6nMS5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA16SURBVHic7d1/jBxneQfw7zNzvotdn+9sVQkxoRKoammBqqpbk6uT5mLfvHPn42yn1VFRVCEhoFH5IYpoSaUCKi1NcGkcfrbCVRFKEwG2aHLn83pmLvY2CTqT1AmCOBE0EOT4B0nBPw/snb2dp3/sLr6s77i923dud/a+H8ny7tzMo8f3eud99p133gGIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiFYGaXYCRETUPMYYrWe/MAzZX2QQ27d5OpqdABFROxgZGVlz5cqVrzuOc18QBJPNzofsYvvSYrVcgTVftZ2l6npgYODXHMc5oKoHHcfZHQTB2WbnRETpGRkZWVMoFA6IyO2qutX3/R1Z64TnO8fWOwLSzti+mSKDg4M3l0qlnSJyG4CbAFwP4ByAlwE8paoPX3fddcH4+PjP00yk5QqsrDPGvAZAHsBrReRNqvpeY8x/iMg9QRCcaXJ6ZIHv+xtUdReAHQBej/IHGABOAnhORMY6OjoempiYONe0JC3zPM84jjOqqrfi6r/3RQCPAdgXhmHUvOyaa3R01L1w4cJBALdVNq1W1THP87woir7ZzNyocWzf7PA8b4uI7E6S5A9Frqknb6j8eZOIvKNQKPzU9/1/dhznvlwuV0gjn5YbFapW09Vqu/Z9K9u2bdsNruvmUe50axUAfMV13X/I5XInlzcze2x/28lCu1b19fWt7u7u/hCAvwGwboHdL6jq7unp6T1TU1OXlyG9VAwODv5mkiR7Ady6wK6Plkqldz/yyCPfX468bBkaGuqamZm5E8DbReQNANYscMiLIrI1CILnZ280xrwHwL+hck4VkacBDLTS6HVaIxWt/Blm+zauldu3atOmTas2bNjwWRG5s7LplKp+VUQOuq77/bVr17589uzZ9SKy0XGcAVUdFZE/qOx7zHXdXWn0yy31i6sMw/4MyF6BZYy5XlWPiMhvL7BrrKpfcxznE7Uf4ixYqQWW53kbATw060NZr28nSbJzcnLyRBp5pcnzvNtE5CEAvXUecg7ArjAMH00xLWuGhoZuKpVKEwB+p85DXnRd9/ZcLvcDAOjv778un88XAChwtRMWkW+jxTpfYOV1wGxfO1q1fav6+vpWr1u3blxVtwH4uar+/fT09OcW+mJrjBkBcC+AXwdwBoAJw/AZm7m1zC+uUlyNA9g6189buZH7+/t/tbOz8wiANy7isKKqftV13U8eOnToe2nlZttKLLAqJ+qjAF69xBAnZ2Zmbj58+PApm3mlqTJydRTXFldHAUxVXvcBuLnm5+dU9c1RFP1v2jk2YmhoqKtUKj2B+jvfE0mS3D45OflD4OqcHADPh2H4F6h0wp7nva1YLOby+fz5dDKnerB9Vwzxff8BVX0bgFMAdoZheKzeg4eHh9cXi8WvAfAAvOC67ptzudz/WUvOVqBGVO7OmBCR/vn2adWOuL+/v7ezs3MSwKYlhkgAHBSRjwdB8JTF1FKx0gqsymXBxwH8XoOh/ieO41vz+fwVG3mlzRjzKF55WfA8gD8LwzA3ez/P87aLyIMAeqrbVDUfRdHty5Pp0hhjPgDgM9X3qnq/iNwPYM5RCdd1T1RPvLM63+q/ce/sTpiaj+27Mvi+f6eq/iuAi67r9uVyuWcXG6NSjB8B0KeqE1EUvcVWfk3v3OYZuXosjuPt+Xx+ull51WNgYKBHRKIlXDaaS6Kq+6Mo+lMLsVKz0gosz/M+KiKfsBTub8MwvMdSrNQYYzwAYc3m7bXFVZXv+8OqemD2NlUdiKLokbRybJQx5lsANlfefi4Mww/UedyvADgI4I9mbxeRDwdB8C92s0yHrc9wK3922b6Na+X2BYD+/v61nZ2dz6M8cX00DMP9S421ffv2V83MzDwHoNfmucuxEWSpslxcjYyMrHEcZ8xScQUAjoj8vqVYZIHv+xtE5MMWQ941PDy83mK8VIjIW2s2HZ2vuAKAIAgmADyxQIxWM3uu5J56DhgZGVkDYBw1nS+ApwB82VJeZAfbt82tWrXqPSgXV481UlwBwMGDB3+sqncDgIh81EZ+QBMLrKwXV5Uh5NoPYqMyN+m9nanqHVj4bsHF6InjeKfFeKmoLMUw+/2Ct6KLyOM1m2x/NmxbW30RhuGPFtp5jstGVU+JiNdqE57rEYahzB6lWOz7Fsf2be/2hYj8SeXlvTbiFYvFLwK4DOAWY8z1NmI2pcDKcnE1OjraWSgU9uPaD2LDRKSlJwavQCO2A4rIDtsxU7BxsQeoau2Jeak3BDTDL72kUm/n63neaFoJUkPYvm3G9/0NKN9gc7mrq6t2OsOSVGqPSQCuiAzaiLnsBVaWiysAuHDhwn4AQ2nEVtUfpBGXluwNKcRcaBmPVpDMfiMiW+o4pnafZM69MmYxnW9lsj9lCNs3m1T1tSjXL89aXo39WCX+62wEW9YCK+vFVcXLKcbmJcLW8qoUYmZhZOfFmvc3e563fb6djTFvwdUJxfPFyJx6O1/f999a6Xz5ZIwMYftm2o2Vv60+HUVETldeLnoUfy7LVmC1SXEFVf0YgFSeX5QkCQus9tfyIzsicnSObQ/6vj9cu71SXP1nPTGyplAo5FDT+arqk3Ecb5s9J0dV2flmENs3u0REgTmnJjRkVjwrd2Iuy3+adimuACCKotPGmC8A+GvLoZOZmZkXLMekBojIaVX9DcthTy+8S3MlSTIuIu+q2dyjqgeMMU8A+CYAUdUtAOa8izZJkvG081wG19xN5jjO4ByLTLrLlRBZxfbNrjMAICI3LrTjIlVHrqyMjKU+gtVOxVVVHMf/hHkWrGvAiawsQrlSqOqiF61rRkzbOjo6AsxfCG4G8FcAPvhLlih5qVgsWpl42kIyezcZ1YXtmy0/QvlqwG9V1i6zZRMAiIiV+dCpFljtWFwBQOUbzqcth+XlwdZjfRRGRMZsx7St8mT5zzcQ4r52+LKgqp9S1U8B+GTtZSPKPrZvdlXaagrAalU1NmJWCrVtAEqO4xyyETO1S4TtWlxVXbp06b7u7u6/BHCTjXiqygKrxYjIQ6p6L2Y9BqZB51etWtXyBRYAuK77hVKp9H5cnUxarzOu634xjZyWWxRFdzU7B0oP2zfbVPUbIrLFcZwPAfivRuOJyPtUdbWq5m09jzCVEax2L64AYGpq6rKq/qOteI7jsMBqMUEQnFXV3bbiqerdExMT52zFS1Mul7soIovugETkI7lc7mIaORERVRWLxS8BeElVb/F9v6EnR/i+f6Oq3gUAjuPYejSavQLLGKPVP4VC4Wd4ZXF1pKura7Bdiquq3t7efwfwnKVwLLBa0PT09B5U1kZp0BPFYvGzFuIsmyAI7kf5uWz1OhgEwTV3FLaoX5yLKosWLknNsZcayohsYvu2uUo98TEAUNW9vu8vad3CoaGhLlX9BoBeAONBEByxleNyLNPwWBzHOywvBtYS9u3bV1LVj1sKxwKrBU1NTV12XXcXgFMNhDmpqndkcF6SisifAzhRx76n4jh+Byzd3rwMjldfqOqSV+xPkmT2yvzH592RlhvbdwUIw3AvgAcArFPVcHBwcFHPBvZ9f0OpVDqA8qrwL8Rx/E6b+VkvsGqfZ9ROlwXnEkXRfgDfajCMXrx48Yc28iH7crncSVXdrKpPLvZYEXk6SZItURS1/PIMcwmC4KzjOCMAam9dn+0SgJ35fP4ny5SWDQ/Mer3HGLPoTtgYMyIiv3gOmqpmZfRuJWD7rgwax/G7UH7EzcYkSf7bGHNXX1/f6oUO9H1/Z+WcPoDysgw7bJ/DUl8Hq52LqwoVkb9T1WiRx8UoX158RlWfnJqaupxCbmRJFEWn+/r6buvu7v4ggI9g4Ynv50XknkKh8JkMjly9wqFDh77j+/6oqo4BqD1xXRaRPw6CwMZl1GXjuu6XSqXSOwH8LoD1AMaMMecA1PtF53WV4wCUC+menp699jOlpWD7rhz5fP5Kf3//UFdX132q+l4Ad3d3d7/fGPN1EZlQ1e/19PS8dPbs2fWu694kIgOqOqqqm4Dy4rKlUumOw4cPN3KVYk7WVkE1xsx5aSBLT+duhDEmQrkSnssZlIeXnxWRY6p6PI7j41nveFeq4eHh9XEc7xSRnQBej6t3kp5EuWh+OI7jh+dYsDDTfN/frKrjAKpPmv9pkiS7JicnH29mXku1devWV3d0dBxAuRNeMhF5ulgsjqRxgk7DfOfqxWr1czvbtzGt3r5zGRwc7FPV3ap6y0L7ishPAHx63bp1e/bt2xenkQ8LLEuMMZtE5JCqfhfAMwCeSZLkO2vWrDk+NjbGyZHUFjzP2yginwcAVX1fVi99Vo2OjnaeP3/+3SLydgBvBNBd56GXAHxXVR/s7e3dm9YJOg0rqQNm+y5dFtp3HmKM2QxgF8qr9b8GwA0AzgH4MYBjIjJ28eLFkFeOiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhWgv8Hnffz4dmwY9cAAAAASUVORK5CYII=);background-image:linear-gradient(transparent,transparent),url(/app/assets/spritesheet-DpIxuf5L.svg)}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}.loading-sas-view[data-v-03200a03]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--bg-main) 0%,var(--bg-page) 100%);color:var(--text-main);z-index:9999}.sas-content[data-v-03200a03]{text-align:center;max-width:400px;width:90%}.sas-loader[data-v-03200a03]{position:relative;width:120px;height:120px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center}.spinner-ring[data-v-03200a03]{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:var(--primary-color);border-radius:50%;animation:spin-03200a03 1.5s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring[data-v-03200a03]:nth-child(2){width:80%;height:80%;border-top-color:var(--brand-forest);animation-duration:1s;animation-direction:reverse}.spinner-ring[data-v-03200a03]:nth-child(3){width:60%;height:60%;border-top-color:var(--edu-color);animation-duration:2s}.logo-sas[data-v-03200a03]{width:40px;height:40px;z-index:2}.sas-logo-img[data-v-03200a03]{width:100%;height:100%;object-fit:contain}.sas-title[data-v-03200a03]{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-main)}.sas-subtitle[data-v-03200a03]{color:var(--text-muted);font-size:.95rem;margin-bottom:2rem}.sas-progress-container[data-v-03200a03]{width:100%;height:4px;background:var(--border-subtle);border-radius:2px;overflow:hidden}.sas-progress-bar[data-v-03200a03]{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--brand-forest));box-shadow:0 0 10px var(--primary-glow);transition:width .4s ease}@keyframes spin-03200a03{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
