:root{--primary-purple: #6B66F6;--primary-purple-hover: #5851EA;--light-violet-bg: #F4F3FF;--border-color: #E2E8F0;--input-bg: #F8FAFC;--text-dark: #1E293B;--text-medium: #475569;--text-muted: #64748B;--bg-page: #F7F8FC;--card-shadow: 0 2px 10px rgba(100, 116, 139, .06);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Merriweather", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased}.top-nav{background-color:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-logo-img{height:40px;width:auto;object-fit:contain;border-radius:6px}.brand-name{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.nav-actions{display:flex;align-items:center;gap:12px}.icon-btn{background:var(--input-bg);border:1px solid var(--border-color);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s ease;color:var(--text-medium)}.icon-btn:hover{background:#edf2f7}.icon-btn .badge{position:absolute;top:-2px;right:-2px;background:var(--primary-purple);color:#fff;font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:.875rem;font-weight:600;padding:9px 18px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--primary-purple);color:#fff}.btn-primary:hover{background-color:var(--primary-purple-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-dark)}.btn-secondary:hover{background-color:#edf2f7}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-medium);border-radius:var(--radius-full)}.btn-outline:hover{background:var(--input-bg);color:var(--text-dark)}.btn-danger{background-color:#fee2e2;color:#dc2626}.btn-danger:hover{background-color:#fca5a5}.btn-sm{padding:5px 12px;font-size:.8rem}.btn-lg{padding:12px 28px;font-size:1rem}.main-content{max-width:1100px;margin:24px auto;padding:0 20px 60px}.sub-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sub-tab{display:inline-flex;align-items:center;gap:8px;background-color:var(--primary-purple);color:#fff;padding:8px 18px;border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:24px;box-shadow:var(--card-shadow)}.title-card{padding:32px}.category-tag{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.main-heading{font-family:var(--font-serif);font-size:1.85rem;font-weight:700;color:#0f172a;margin:6px 0 8px}.heading-subtext{color:var(--text-muted);font-size:.95rem}.step-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.step-num{width:32px;height:32px;background-color:var(--primary-purple);color:#fff;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.step-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:#0f172a}.step-subtext{font-size:.875rem;color:var(--text-muted);margin-top:2px}.dropzone-container{border:2px dashed #C7D2FE;border-radius:var(--radius-md);padding:40px 24px;text-align:center;background-color:#fafafe;transition:all .2s ease;position:relative}.dropzone-container.dragover{background-color:var(--light-violet-bg);border-color:var(--primary-purple)}.file-input-hidden{display:none}.upload-icon-circle{width:60px;height:60px;background-color:#eeedfe;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.upload-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:6px}.upload-desc{font-size:.9rem;color:var(--text-muted);max-width:480px;margin:0 auto 20px}.upload-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.preset-samples{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted);border-top:1px dashed var(--border-color);padding-top:16px;margin-top:10px}.sample-chip{background:#fff;border:1px solid var(--border-color);padding:5px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.sample-chip:hover{border-color:var(--primary-purple);color:var(--primary-purple)}.dropzone-preview{display:flex;flex-direction:column;align-items:center;gap:16px}.dropzone-preview.hidden{display:none}.dropzone-preview img{max-width:320px;max-height:240px;border-radius:var(--radius-md);object-fit:cover;box-shadow:0 4px 12px #0000001a}.preview-info{display:flex;align-items:center;gap:16px}.preview-filename{font-size:.9rem;font-weight:600;color:var(--text-dark)}.step-body{display:flex;flex-direction:column;gap:24px}.inner-box{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.lang-header{display:flex;align-items:center;gap:12px}.box-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--text-dark)}.box-subtext{font-size:.85rem;color:var(--text-muted)}.lang-toggle-group{display:flex;background:#fff;border:1px solid var(--border-color);padding:4px;border-radius:var(--radius-md);gap:4px}.lang-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;font-weight:600;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-medium);transition:all .2s ease}.lang-btn.active{background-color:var(--primary-purple);color:#fff}.crop-section{display:flex;flex-direction:column;gap:12px}.crop-header{display:flex;align-items:center;justify-content:space-between}.section-label{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--text-dark)}.section-label .required{color:#e53e3e}.section-label .optional{color:var(--text-muted)}.variety-count{font-size:.75rem;font-weight:600;color:var(--primary-purple)}.form-input,.form-textarea{width:100%;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 16px;font-family:var(--font-sans);font-size:.95rem;color:var(--text-dark);transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-purple);background:#fff;box-shadow:0 0 0 3px #6b66f626}.search-box{position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:14px;pointer-events:none}.search-box input{width:100%;padding:10px 16px 10px 40px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:#fff}.plant-grid{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow-y:auto;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg)}.plant-pill{background:#fff;border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.plant-pill:hover{border-color:var(--primary-purple);color:var(--primary-purple);background:#faf9ff}.plant-pill.selected{background-color:var(--primary-purple);color:#fff;border-color:var(--primary-purple)}.notes-section{display:flex;flex-direction:column;gap:8px}.submit-container{margin-top:10px}.btn-submit{width:100%;padding:16px;font-size:1.05rem;font-weight:700;border-radius:var(--radius-md);background:linear-gradient(135deg,#7c77ff,#5b52ee);color:#fff;box-shadow:0 4px 14px #5b52ee4d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5b52ee66}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;transition:opacity .25s ease}.modal-overlay.hidden{display:none;opacity:0;pointer-events:none}.modal-card{background:#fff;border-radius:var(--radius-lg);padding:32px;width:92%;max-width:760px;position:relative;box-shadow:0 20px 40px #00000026;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.close-modal-btn{position:absolute;top:16px;right:20px;background:transparent;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer}.loading-card{text-align:center;max-width:440px;padding:40px 32px}.spinner-container{position:relative;width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:100%;height:100%;border:4px solid var(--light-violet-bg);border-top-color:var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-center{font-size:2rem}.loading-title{font-size:1.25rem;font-weight:700;margin-bottom:8px}.loading-step{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.progress-bar-bg{width:100%;height:8px;background:var(--input-bg);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{width:10%;height:100%;background:var(--primary-purple);transition:width .3s ease}.report-card{max-width:740px}.report-header{border-bottom:1px solid var(--border-color);padding-bottom:14px;margin-bottom:16px}.report-badge-container{display:none}.report-plant-title{font-family:var(--font-sans);font-size:1.4rem;font-weight:700;color:#0f172a}.report-date{font-size:.85rem;color:var(--text-muted);margin-top:4px}.report-body{display:flex;flex-direction:column;gap:16px;max-height:62vh;overflow-y:auto;padding-right:6px}.report-section{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 20px}.report-section h4{font-size:.95rem;font-weight:700;color:#0f172a;margin-bottom:10px;display:flex;align-items:center;gap:6px}.summary-text{font-size:.925rem;line-height:1.6;color:#334155}.reason-box{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-md);padding:14px 16px;font-size:.9rem;color:#334155;line-height:1.6}.outbreak-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.875rem}.outbreak-table th,.outbreak-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.outbreak-table th{background:var(--input-bg);color:var(--text-muted);font-size:.75rem;text-transform:uppercase;font-weight:700}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.treatment-box{padding:16px;border-radius:var(--radius-md);font-size:.875rem}.treatment-box.organic{background:#f0fdf4;border:1px solid #DCFCE7}.treatment-box.chemical{background:#f8fafc;border:1px solid #E2E8F0}.treatment-box h5{font-size:.875rem;font-weight:700;margin-bottom:8px;color:#0f172a}.dosage-text{font-size:.825rem;color:#475569;margin-top:8px;font-weight:500}.report-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.drawer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;z-index:1000}.drawer-overlay.hidden{display:none}.drawer-content{position:absolute;top:0;right:0;width:380px;max-width:90%;height:100%;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column}.drawer-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.close-drawer-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer}.drawer-body{padding:16px 20px;overflow-y:auto;flex:1}.history-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px;margin-bottom:12px;cursor:pointer;transition:all .2s ease}.history-card:hover{border-color:var(--primary-purple);background:var(--input-bg)}.history-card-title{font-weight:700;font-size:.95rem}.history-card-sub{font-size:.8rem;color:var(--text-muted);margin-top:4px}.camera-card{text-align:center;max-width:500px}.camera-viewport{width:100%;height:280px;background:#0f172a;border-radius:var(--radius-md);margin:16px 0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-grid-lines{position:absolute;width:100%;height:100%;background-size:33.3% 33.3%;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px)}.camera-focus-ring{width:180px;height:180px;border:2px dashed rgba(255,255,255,.6);border-radius:50%;animation:pulseFocus 2s infinite}@keyframes pulseFocus{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:1}}.camera-hint{position:absolute;bottom:12px;font-size:.8rem;color:#fff;background:#0009;padding:4px 12px;border-radius:var(--radius-full)}@media(max-width:768px){.nav-container{padding:10px 16px}.env-grid{grid-template-columns:repeat(2,1fr)}.treatment-grid{grid-template-columns:1fr}}
