@import"https://fonts.googleapis.com/css2?family=Sen:wght@400;700;800&display=swap";.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);position:relative}[data-theme=dark] .login-container{background:linear-gradient(135deg,#0f172a,#1e293b)}.login-card{background:var(--card-bg);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.login-header{text-align:center;margin-bottom:32px}.login-header .logo-container{display:flex;justify-content:center;margin-bottom:16px}.login-header .logo-container img{max-height:80px;width:auto}.login-header h1{font-size:32px;font-weight:700;color:var(--primary-color);margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:14px}.error-message{background-color:#ef444426;color:var(--error-color);padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid rgba(239,68,68,.3);font-size:14px}[data-theme=dark] .error-message{background-color:#ef444440;border-color:#ef444466}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #009f571a}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:20px;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.submit-button{margin-top:8px;padding:14px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.submit-button:hover:not(:disabled){background:var(--primary-hover)}.login-footer{margin-top:24px;text-align:center;font-size:14px;color:var(--text-secondary)}.login-footer a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s}.login-footer a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 480px){.login-card{padding:24px}.login-header h1{font-size:24px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--card-bg);z-index:10}.modal-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:32px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:var(--bg-color);color:var(--text-primary)}.modal-body{padding:24px;flex:1;overflow-y:auto}@media (max-width: 768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-overlay{padding:0}.modal-header,.modal-body{padding:20px}}.profile-modal-content{display:flex;flex-direction:column;gap:24px}.tabs{display:flex;gap:8px;border-bottom:2px solid var(--border-color)}.tabs button{flex:1;padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-secondary);transition:all .2s;margin-bottom:-2px}.tabs button:hover{color:var(--text-primary);background-color:#2563eb0d}.tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.profile-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:var(--text-primary);font-size:14px}.form-group input{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;transition:all .2s;background-color:var(--card-bg);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group input.error{border-color:var(--error-color)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.field-error{color:var(--error-color);font-size:12px;margin-top:-4px}.error-message{background-color:#fee2e2;color:var(--error-color);padding:12px 16px;border-radius:8px;border:1px solid #fecaca;font-size:14px}.success-message{background-color:#d1fae5;color:var(--success-color);padding:12px 16px;border-radius:8px;border:1px solid #a7f3d0;font-size:14px}.submit-button{margin-top:8px;padding:14px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.tabs{flex-direction:column}.tabs button{border-bottom:none;border-left:3px solid transparent;margin-bottom:0;padding-left:16px;text-align:left}.tabs button.active{border-left-color:var(--primary-color);border-bottom-color:transparent}}.theme-toggle{background:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .3s ease;padding:0;box-shadow:var(--shadow);flex-shrink:0}.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.theme-toggle:active{transform:scale(.95)}[data-theme=dark] .theme-toggle{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .theme-toggle:hover{background:var(--bg-color)}@media (max-width: 768px){.theme-toggle{width:32px;height:32px;font-size:16px}}.language-selector{display:flex;gap:3px;background:var(--bg-color);border:2px solid var(--border-color);border-radius:6px;padding:3px;flex-shrink:0}.lang-button{display:flex;align-items:center;gap:3px;padding:5px 8px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;color:var(--text-secondary)}.lang-button:hover{background:var(--border-color);color:var(--text-primary)}.lang-button.active{background:var(--primary-color);color:#fff}.lang-button.active:hover{background:var(--primary-hover)}.lang-flag{font-size:14px;line-height:1}.lang-code{font-size:11px}[data-theme=dark] .language-selector{background:var(--card-bg);border-color:var(--border-color)}@media (max-width: 480px){.lang-code{display:none}.lang-button{padding:6px 8px}}.workflow-guide-toggle-btn{background:#ffffff1a;color:#fff;text-decoration:none;font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s;font-weight:500;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.workflow-guide-toggle-btn:hover{background-color:#fff3}.workflow-guide-toggle-btn.active{background:#ffffff40;border-color:#fff6}.workflow-guide{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;box-shadow:0 4px 20px #667eea4d;color:#fff;position:fixed;top:70px;right:20px;z-index:999;max-width:500px;max-height:80vh;overflow-y:auto;animation:slideIn .3s ease-out}.workflow-guide.minimized{padding:12px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.workflow-guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workflow-guide.minimized .workflow-guide-header{margin-bottom:0}.workflow-guide-title{display:flex;align-items:center;gap:12px}.workflow-guide-icon{font-size:24px}.workflow-guide-title h3{margin:0;font-size:18px;font-weight:600;color:#fff}.workflow-guide-actions{display:flex;gap:8px}.workflow-guide-btn-minimize,.workflow-guide-btn-close{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px;font-size:14px;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workflow-guide-btn-minimize:hover,.workflow-guide-btn-close:hover{background:#ffffff4d;transform:scale(1.05)}.workflow-guide-content{animation:fadeIn .3s ease-out}.workflow-guide-intro{margin:0 0 20px;font-size:15px;opacity:.95;line-height:1.6}.workflow-steps{display:flex;flex-direction:column;gap:16px}.workflow-step{display:flex;align-items:flex-start;gap:16px;background:#ffffff26;border-radius:10px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s;position:relative}.workflow-step.active{background:#ffffff40;border-color:#fff6;box-shadow:0 4px 15px #fff3;transform:scale(1.02)}.workflow-step.optional{opacity:.9}.workflow-step-number{background:#ffffff4d;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;border:2px solid rgba(255,255,255,.5)}.workflow-step.active .workflow-step-number{background:#fff6;border-color:#ffffffb3;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ffffffb3}50%{box-shadow:0 0 0 8px #fff0}}.workflow-step-content{flex:1}.workflow-step-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.workflow-step-icon{font-size:20px}.workflow-step-header h4{margin:0;font-size:16px;font-weight:600;color:#fff;flex:1}.workflow-step-optional-badge{background:#ffffff4d;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.workflow-step-description{margin:0;font-size:14px;line-height:1.6;opacity:.95;color:#fffffff2}.workflow-step-connector{position:absolute;left:26px;bottom:-20px;font-size:20px;color:#fff9;z-index:1}.workflow-guide-tip{margin-top:20px;padding:12px 16px;background:#ffffff26;border-radius:8px;border-left:4px solid rgba(255,255,255,.5);font-size:14px;line-height:1.6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workflow-guide-tip strong{display:block;margin-bottom:4px}@media (max-width: 768px){.workflow-guide{padding:16px}.workflow-step{flex-direction:column;gap:12px}.workflow-step-number{align-self:flex-start}.workflow-step-connector{display:none}.workflow-step-header{flex-wrap:wrap}}.dashboard-container{min-height:100vh;background-color:var(--bg-color)}.dashboard-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;padding:16px 0;box-shadow:var(--shadow-md)}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.header-content h1{font-size:22px;font-weight:700;white-space:nowrap;flex-shrink:0}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;flex-shrink:1}.sync-profiles-button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;flex-shrink:0}.sync-profiles-button:hover:not(:disabled){background:#fff3;border-color:#fff6;transform:scale(1.05)}.sync-profiles-button:disabled{opacity:.5;cursor:not-allowed}.sync-profiles-button:active:not(:disabled){transform:scale(.95)}.profile-link{background:#ffffff1a;color:#fff;text-decoration:none;font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s;font-weight:500;white-space:nowrap}.profile-link:hover{background-color:#fff3}.logout-button{padding:6px 12px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.logout-button:hover{background:#ffffff4d}.dashboard-main{max-width:1200px;margin:0 auto;padding:40px 24px}.welcome-card{background:var(--card-bg);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.welcome-card h2{font-size:28px;margin-bottom:12px;color:var(--text-primary)}.welcome-card>p{color:var(--text-secondary);margin-bottom:24px;font-size:16px}.user-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.user-details p{margin-bottom:12px;color:var(--text-primary);font-size:14px}.user-details strong{color:var(--text-secondary);margin-right:8px}.dashboard-sections{display:flex;flex-direction:column;gap:16px;margin:32px 0}.dashboard-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-color);border-bottom:1px solid var(--border-color);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.dashboard-section-header:hover{background:var(--card-bg)}.section-title{display:flex;align-items:center;gap:12px}.section-icon{font-size:20px}.section-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.section-toggle{font-size:14px;color:var(--text-secondary);font-weight:700;transition:transform .2s}.dashboard-section-content{padding:20px;display:flex;flex-direction:column;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:1000px;padding-top:20px;padding-bottom:20px}}.dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:32px 0}.action-card{background:var(--bg-color);padding:24px;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s;border:2px solid var(--border-color)}.action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.action-card h3{margin-bottom:8px;color:var(--text-primary);font-size:18px}.action-card p{color:var(--text-secondary);font-size:14px;margin:0}.action-card small{display:block;color:var(--text-secondary);font-size:12px;margin-top:4px;font-style:italic}.action-card-disabled{cursor:default!important;opacity:.7}.action-card-disabled:hover{transform:none!important;box-shadow:none!important;border-color:var(--border-color)!important}.admin-card{border:2px solid #f59e0b;background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d)}.admin-card:hover{border-color:#d97706;box-shadow:0 10px 25px #f59e0b33}@media (max-width: 768px){.dashboard-header{padding:12px 0}.header-content{flex-wrap:wrap;gap:8px;padding:0 16px}.header-content h1{font-size:18px;flex:1 1 100%;text-align:center}.header-right{flex:1 1 100%;justify-content:center;gap:8px;flex-wrap:wrap}.profile-link,.logout-button{font-size:12px;padding:6px 10px}.sync-profiles-button{width:32px;height:32px;font-size:14px}.dashboard-main{padding:20px 16px}.welcome-card{padding:20px}.welcome-card h2{font-size:22px}.dashboard-sections{gap:12px;margin:24px 0}.dashboard-section-header{padding:12px 16px}.section-title h3{font-size:16px}.dashboard-section-content{padding:16px}.dashboard-actions{grid-template-columns:1fr;gap:16px;margin:24px 0}.action-card{padding:20px}.action-card h3{font-size:16px}.action-card p{font-size:13px}.templates-grid{grid-template-columns:1fr!important;gap:12px!important}.template-card{padding:14px!important}.template-card h4{font-size:14px!important}.template-card p{font-size:12px!important}}.city-select{position:relative;width:100%}.city-search-container{position:relative;display:flex;align-items:center;gap:8px}.city-search-input{width:100%;padding:10px 40px 10px 12px;border:2px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg, var(--card-bg));color:var(--text-primary);transition:border-color .2s}.city-search-input:focus{outline:none;border-color:var(--primary-color)}.city-clear-button{position:absolute;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.city-clear-button:hover{background:var(--error-color-light, rgba(239, 68, 68, .1));color:var(--error-color, #ef4444)}.city-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.city-options-list{max-height:350px;overflow-y:auto;overflow-x:hidden}.city-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-primary);transition:background-color .15s}.city-option:last-child{border-bottom:none}.city-option:hover{background:var(--primary-color-light, rgba(59, 130, 246, .1));color:var(--primary-color, #3b82f6)}.city-option.selected{background:var(--primary-color, #3b82f6);color:#fff;font-weight:500}.city-option.selected:hover{background:var(--primary-color-dark, #2563eb)}.city-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.city-results-count{padding:8px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .05));border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);text-align:center}.city-options-list::-webkit-scrollbar{width:8px}.city-options-list::-webkit-scrollbar-track{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.city-options-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.city-options-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.programs-container{max-width:1200px;margin:0 auto;padding:24px}.programs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.programs-header .header-left{display:flex;align-items:center;gap:16px}.programs-header h1{margin:0;color:var(--text-primary)}.back-button{padding:8px 16px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:14px;transition:all .2s;white-space:nowrap}.programs-list{display:flex;flex-direction:column;gap:16px}.program-card{background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.program-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;transition:background .2s}.program-card-header:hover{background:var(--bg-color)}.program-header-left{display:flex;align-items:flex-start;gap:12px;flex:1}.toggle-icon{font-size:12px;color:var(--text-secondary);margin-top:4px}.program-card-header h3{margin:0 0 8px;color:var(--text-primary);font-size:18px}.program-description{margin:4px 0;color:var(--text-secondary);font-size:14px}.program-location{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.program-header-right{display:flex;align-items:center;gap:12px}.campaign-count{font-size:13px;color:var(--text-secondary);font-weight:500}.program-campaigns{padding:0 20px 20px;border-top:1px solid var(--border-color);margin-top:0}.campaigns-header{display:flex;justify-content:space-between;align-items:center;margin:16px 0}.campaigns-header h4{margin:0;color:var(--text-primary);font-size:16px}.btn-small{padding:6px 12px;font-size:13px}.empty-campaigns{text-align:center;padding:32px;color:var(--text-secondary)}.empty-campaigns p{margin-bottom:16px}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.campaign-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;padding:16px;cursor:pointer;transition:all .2s}.campaign-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.campaign-card h4{margin:0 0 8px;color:var(--text-primary);font-size:15px}.fauna-group-badge{display:inline-block;background:var(--primary-light);color:var(--primary-color);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;margin-bottom:8px}.empty-state{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow)}.empty-state-description{color:var(--text-secondary);margin:8px 0 24px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;font-family:inherit;background:var(--card-bg);color:var(--text-primary);box-sizing:border-box;min-width:0}.form-group small{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-actions button{padding:12px 24px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions button[type=button]{background:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color)}.modal-actions button[type=button]:hover{background:var(--border-color)}.btn-action{padding:6px 10px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.btn-action.btn-duplicate{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-action.btn-duplicate:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (max-width: 768px){.programs-container{padding:16px}.programs-header{flex-direction:column;align-items:flex-start;gap:16px}.programs-header .header-left{flex-direction:column;align-items:flex-start;gap:12px;width:100%}.programs-header h1{font-size:24px;line-height:1.2}.back-button{width:100%;text-align:center}.programs-header .btn-primary{width:100%}.program-card-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.program-header-left{width:100%}.program-header-right{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.campaign-count{font-size:12px}.program-campaigns{padding:0 16px 16px}.campaigns-header{flex-direction:column;align-items:flex-start;gap:12px}.campaigns-header .btn-primary{width:100%}.campaigns-grid{grid-template-columns:1fr;gap:12px}.modal-content{width:95%;padding:24px 16px;max-height:95vh}.form-row{grid-template-columns:1fr;gap:12px}.form-row .form-group{min-width:0}.form-row input[type=date]{width:100%;min-width:0}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.empty-state{padding:40px 16px}}@media (min-width: 769px) and (max-width: 1024px){.programs-container{padding:20px}.programs-header h1{font-size:28px}.campaigns-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.program-card-header{padding:18px}.form-row{gap:10px}.form-row .form-group{min-width:0}.form-row input[type=date]{width:100%;min-width:0;font-size:14px}}.projects-container{padding:40px;max-width:1400px;margin:0 auto}.projects-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.empty-state-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.projects-header h1{font-size:32px;color:var(--text-primary);margin:0;font-weight:700}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{padding:8px 16px;background:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px}.btn-action{padding:5px 10px;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:3px;box-shadow:0 1px 3px #0000001a;white-space:nowrap}.btn-action span:first-child{font-size:13px}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-open{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-open:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-duplicate{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-duplicate:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.error-message{background:#fee2e2;color:var(--error-color);padding:12px 16px;border-radius:8px;margin-bottom:24px}.empty-state{text-align:center;padding:60px 20px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-md)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.project-card{background:var(--card-bg);padding:24px;border-radius:12px;box-shadow:var(--shadow-md);transition:all .2s;position:relative}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card h3{margin-bottom:12px;color:var(--text-primary)}.project-card p{color:var(--text-secondary);margin-bottom:8px}.project-location{font-size:14px}.project-meta{display:flex;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-indicator.status-active{background:#10b981}.status-indicator.status-inactive,.status-indicator.status-draft{background:#ef4444}.status-indicator.status-paused{background:#f59e0b}.status-indicator.status-completed{background:#3b82f6}.modal-content h2{margin-bottom:24px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;box-sizing:border-box;min-width:0}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row .form-group{min-width:0;overflow:hidden}.form-row input[type=date]{width:100%;min-width:0;box-sizing:border-box}@media (max-width: 768px){.projects-container{padding:16px}.projects-header{margin-bottom:24px;padding-bottom:16px}.header-title-section{flex-direction:column;align-items:flex-start;gap:16px}.projects-header h1{font-size:24px;line-height:1.2}.header-actions{width:100%;flex-direction:column;gap:8px}.header-actions button{width:100%;text-align:center}.empty-state-actions{flex-direction:column}.empty-state-actions button{width:100%}.projects-grid{grid-template-columns:1fr;gap:16px}.project-card{padding:16px}.project-meta{flex-direction:column;align-items:flex-start;gap:12px}.project-meta>div{width:100%;display:flex;gap:6px;flex-wrap:wrap}.projects-grid{grid-template-columns:1fr!important}.project-meta button{flex:1;min-width:fit-content}.project-meta .status-badge{flex-shrink:0}.modal-content{width:95%;padding:24px 16px;max-height:95vh}.form-row{grid-template-columns:1fr;gap:12px}.form-row .form-group{min-width:0}.form-row input[type=date]{width:100%;min-width:0}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.empty-state{padding:40px 16px}.empty-state>div{flex-direction:column}.empty-state button{width:100%}}@media (min-width: 769px) and (max-width: 1024px){.projects-container{padding:24px}.projects-header h1{font-size:28px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.project-card{padding:20px}.form-row{gap:10px}.form-row .form-group{min-width:0}.form-row input[type=date]{width:100%;min-width:0;font-size:14px}}.collapsible-section{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:16px}.collapsible-header{width:100%;padding:20px 24px;background:transparent;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s;text-align:left}.collapsible-header:hover{background:var(--bg-color)}.collapsible-header-left{display:flex;align-items:center;gap:12px;flex:1}.collapsible-icon{font-size:20px}.collapsible-title{margin:0;color:var(--text-primary);font-size:20px;font-weight:600}.collapsible-count{color:var(--text-secondary);font-size:14px;font-weight:400}.collapsible-arrow{font-size:12px;color:var(--text-secondary);transition:transform .3s ease;transform:rotate(-90deg)}.collapsible-arrow.open{transform:rotate(0)}.collapsible-content{padding:0 24px 24px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:5000px}}.project-details-container{padding:40px;max-width:1400px;margin:0 auto}.project-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.header-title-section{display:flex;justify-content:space-between;align-items:center;width:100%}.header-left>div{display:flex;gap:8px}.btn-secondary{padding:8px 16px;background:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-secondary:hover{background:var(--border-color)}.project-header h1{font-size:32px;color:var(--text-primary);margin:0;font-weight:700}.project-sections{display:flex;flex-direction:column;gap:32px}.project-section{background:var(--card-bg);padding:24px;border-radius:12px;box-shadow:var(--shadow-md)}.project-section h2{margin-bottom:20px;color:var(--text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-grid label{display:block;font-weight:600;color:var(--text-secondary);margin-bottom:8px;font-size:14px}.info-grid p{color:var(--text-primary);margin:0}.configs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.config-card{background:var(--card-bg);padding:20px;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow);transition:all .2s;display:flex;flex-direction:column;gap:12px}.config-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.config-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-bottom:4px}.config-card-title{margin:0;color:var(--text-primary);text-transform:capitalize;font-size:18px;font-weight:600;line-height:1.4;word-break:break-word}.config-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:12px}.config-card h3{margin:0;color:var(--text-primary);text-transform:capitalize;font-size:18px;font-weight:600;flex:1;line-height:1.4}.config-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.btn-edit,.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:6px 10px;border-radius:6px;transition:all .2s ease;opacity:.8;display:inline-flex;align-items:center;justify-content:center}.btn-edit:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);opacity:1;transform:scale(1.1);box-shadow:0 2px 8px #6366f14d}.btn-delete:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);opacity:1;transform:scale(1.1);box-shadow:0 2px 8px #ef44444d}.btn-action{padding:10px 18px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-action:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-action.btn-edit{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.btn-action.btn-edit:hover{background:linear-gradient(135deg,#4f46e5,#4338ca)}.btn-action.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-action.btn-delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.config-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.config-card-info{display:flex;flex-direction:column;gap:8px;flex:1}.config-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary)}.empty-state p{margin:8px 0}.section-description{color:var(--text-secondary);font-size:14px;margin-bottom:20px;line-height:1.6}.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--card-bg);color:var(--text-primary)}.form-group select:focus{outline:none;border-color:var(--primary-color)}.btn-primary{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-hover)}.modal-content.large-modal{max-width:800px}.form-group input{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--card-bg);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--primary-color)}.config-card .status-badge{display:inline-block;margin-top:12px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.header-actions{display:flex;gap:12px;align-items:center}.btn-upload{padding:12px 24px;background:var(--bg-color);border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;font-weight:500;color:var(--text-primary);transition:all .2s;display:inline-block}.btn-upload:hover{border-color:var(--primary-color);background:#f3f4f6}.btn-upload:has(input:disabled){opacity:.6;cursor:not-allowed}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.image-card{background:var(--bg-color);border-radius:8px;overflow:hidden;border:1px solid var(--border-color);transition:all .2s}.image-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.image-card img{width:100%;height:200px;object-fit:cover;display:block}.image-info{padding:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.image-name{flex:1;font-size:14px;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:12px;color:var(--text-secondary);margin:0}.btn-delete-image{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s;opacity:.7}.btn-delete-image:hover{background:#fee2e2;opacity:1;transform:scale(1.1)}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:zoomIn .2s ease-in}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-close{position:absolute;top:-40px;right:0;background:#fff3;border:none;color:#fff;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1001}.image-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.observations-table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:8px;margin-top:16px}.observations-table{width:100%;border-collapse:collapse;background:var(--bg-color);min-width:800px}.observations-table thead{background:var(--card-bg);position:sticky;top:0;z-index:10}.observations-table th{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;border-bottom:2px solid var(--border-color)}.observations-table td{padding:12px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.observations-table tbody tr{transition:background .2s}.observations-table tbody tr:hover{background:var(--card-bg)}.observations-table tbody tr:nth-child(2n){background:var(--card-bg)}.observations-table tbody tr:nth-child(odd){background:var(--bg-color)}.observations-download-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:14px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:12px}.observations-download-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}@media (max-width: 768px){.observations-table-container{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.observations-table{font-size:12px}.observations-table th,.observations-table td{padding:8px;font-size:12px}}.image-modal-img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080;background:#1f2937}.image-modal-img[src*="data:image/svg"]{background:#f3f4f6}.image-modal-info{margin-top:20px;text-align:center;color:#fff}.image-modal-name{font-size:16px;font-weight:500;margin:0 0 8px;color:#fff}.image-modal-size{font-size:14px;margin:0;color:#ffffffb3}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.templates-section{margin-top:24px;padding:20px;background:var(--bg-color);border-radius:8px;border:1px solid var(--border-color)}.templates-section h3{margin:0 0 12px;color:var(--text-primary);font-size:18px}.templates-description{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.template-card{background:var(--card-bg);padding:16px;border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.template-card h4{margin:0;color:var(--text-primary);font-size:16px}.template-card p{margin:0;color:var(--text-secondary);font-size:12px;flex-grow:1}.btn-download{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;width:100%}.btn-download:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.analyses-list{display:flex;flex-direction:column;gap:16px}.analysis-card{background:var(--bg-color);padding:20px;border-radius:8px;border:1px solid var(--border-color)}.analysis-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:12px;border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none}.analysis-card-header:hover{background:var(--bg-color);border-radius:4px;padding:8px;margin:-8px -8px 4px}.analysis-card-header h3{margin:0;color:var(--text-primary);font-size:18px;text-transform:capitalize}.analysis-date{font-size:12px;color:var(--text-secondary)}.analysis-results{background:#1e1e1e;padding:16px;border-radius:6px;overflow-x:auto;max-height:400px;overflow-y:auto}.analysis-results pre{margin:0;color:#d4d4d4;font-family:Courier New,monospace;font-size:12px;line-height:1.5}.large-modal{max-width:700px;width:90vw}.analysis-params{margin:16px 0;padding:12px;background:#f9fafb;border-radius:6px;border:1px solid var(--border-color)}.analysis-params .form-group{margin-bottom:12px}.analysis-params label{font-size:14px;font-weight:500;color:var(--text-primary)}.analysis-params input,.analysis-params textarea,.analysis-params select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;margin-top:4px}.back-to-top-button{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #009f574d;transition:all .3s;z-index:999;display:flex;align-items:center;justify-content:center}.back-to-top-button:hover{background:var(--primary-hover);transform:translateY(-3px);box-shadow:0 6px 20px #009f5766}.tenants-table{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.plan-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.plan-free{background:#e0e7ff;color:#4f46e5}.plan-premium{background:#fef3c7;color:#d97706}.plan-enterprise{background:#dbeafe;color:#1e40af}.admin-container{padding:40px;max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:16px}.admin-header h1{font-size:32px;color:var(--text-primary);margin:0}.back-button:hover{background:var(--border-color);transform:translate(-2px)}.error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px}.users-table{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}table{width:100%;border-collapse:collapse}thead{background:var(--bg-color)}th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color)}td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}tr:hover{background:var(--bg-color)}.role-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.role-admin{background:#dbeafe;color:#1e40af}.role-member{background:#e0e7ff;color:#4f46e5}.role-viewer{background:#f3f4f6;color:#6b7280}.superadmin-badge{color:#f59e0b;font-weight:600}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-active{background:#d1fae5;color:#059669}.status-inactive{background:#fee2e2;color:#dc2626}.btn-toggle{padding:6px 12px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-activate{background:#d1fae5;color:#059669}.btn-activate:hover{background:#a7f3d0}.btn-deactivate{background:#fee2e2;color:#dc2626}.btn-deactivate:hover{background:#fecaca}.action-buttons{display:flex;gap:8px;align-items:center}.btn-edit-small,.btn-delete-small{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:all .2s;opacity:.7}.btn-edit-small:hover{background:#e0e7ff;opacity:1;transform:scale(1.1)}.btn-delete-small:hover{background:#fee2e2;opacity:1;transform:scale(1.1)}.btn-primary{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a}.modal-content{background:var(--card-bg);padding:32px;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:24px;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--card-bg);color:var(--text-primary)}.form-group input[type=checkbox]{width:auto;margin-right:8px}.modal-actions button{padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-weight:500}.tenant-users-container{min-height:100vh;background-color:var(--bg-color);padding:24px}.tenant-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center;gap:16px}.back-button{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.tenant-users-header h1{color:var(--text-primary);font-size:24px;margin:0}.users-table{background:var(--card-bg);border-radius:8px;overflow-x:auto;box-shadow:var(--shadow)}.users-table table{width:100%;border-collapse:collapse}.users-table th{background:var(--bg-color);color:var(--text-primary);padding:12px;text-align:left;font-weight:600;border-bottom:2px solid var(--border-color)}.users-table td{padding:12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.users-table tr:hover{background:var(--bg-color)}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.role-admin{background:#3b82f6;color:#fff}.role-member{background:#10b981;color:#fff}.role-viewer{background:#6b7280;color:#fff}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.status-active{background:#10b981;color:#fff}.status-inactive{background:#ef4444;color:#fff}.action-buttons{display:flex;gap:8px}.btn-edit-small,.btn-delete-small,.btn-toggle{background:transparent;border:1px solid var(--border-color);padding:6px 10px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s}.btn-edit-small:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-delete-small:hover{background:#ef4444;border-color:#ef4444;color:#fff}.btn-toggle:hover{background:var(--border-color)}.modal-content{background:var(--card-bg);border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{color:var(--text-primary);margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:var(--text-primary);font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-primary);font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-group small{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{padding:10px 20px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.modal-actions button:hover{background:var(--border-color)}.modal-actions .btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.modal-actions .btn-primary:hover{background:var(--primary-hover)}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;border:1px solid #fcc}@media (max-width: 768px){.tenant-users-container{padding:16px}.users-table{font-size:12px}.users-table th,.users-table td{padding:8px}.action-buttons{flex-direction:column}}.field-collect-container{min-height:100vh;background:var(--bg-color);padding-bottom:20px}.field-collect-header{background:var(--card-bg);padding:16px;box-shadow:var(--shadow);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.field-collect-header h1{margin:0;font-size:20px;color:var(--text-primary);flex:1}.connection-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.connection-status.online{background:var(--success-color);background:#10b98133;color:var(--success-color)}[data-theme=dark] .connection-status.online{background:#10b9814d;color:#10b981}.connection-status.offline{background:#ef444433;color:var(--error-color)}[data-theme=dark] .connection-status.offline{background:#ef44444d;color:#f87171}.field-collect-content{max-width:600px;margin:0 auto;padding:20px 16px}.form-section{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.form-input,.form-select,.form-textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;font-family:inherit;background:var(--card-bg);color:var(--text-primary);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-textarea{resize:vertical;min-height:100px}.location-info{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;font-size:14px}.location-info .accuracy{font-size:12px;color:var(--text-secondary)}.profile-info{background:var(--card-bg);padding:12px;border-radius:6px;margin-bottom:16px;border-left:4px solid var(--primary-color)}.profile-info p{margin:4px 0;font-size:14px;color:var(--text-primary)}.field-description{font-weight:400;color:var(--text-secondary);font-size:12px}.multiselect-container{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--card-bg);border-radius:6px;border:2px solid var(--border-color)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary)}.alert-warning{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:12px;color:var(--text-primary)}.alert-warning p{margin:4px 0;font-size:14px}.photo-preview-container{display:flex;flex-direction:column;gap:12px}.photo-preview{width:100%;max-width:100%;border-radius:8px;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions .btn-small{flex:1;min-width:120px}.photo-actions .btn-delete-small{flex:1;min-width:120px;padding:8px 16px;font-size:14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;cursor:pointer;transition:all .2s}.photo-actions .btn-delete-small:hover{background:#ef444433;border-color:#ef444480}[data-theme=dark] .photo-actions .btn-delete-small{background:#ef444433;border-color:#ef444466;color:#f87171}[data-theme=dark] .photo-actions .btn-delete-small:hover{background:#ef44444d;border-color:#ef444499}.camera-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.camera-preview-content{width:100%;max-width:600px;background:var(--bg-color);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.camera-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.camera-preview-header h3{margin:0;font-size:18px;color:var(--text-primary)}.camera-close-btn{background:none;border:none;font-size:24px;color:var(--text-primary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.camera-close-btn:hover{background:#0000001a}[data-theme=dark] .camera-close-btn:hover{background:#ffffff1a}.camera-preview-video-container{position:relative;width:100%;background:#000;display:flex;align-items:center;justify-content:center;min-height:400px;max-height:60vh;overflow:hidden}.camera-preview-video{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.camera-preview-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color);background:var(--card-bg);justify-content:flex-end}.btn-capture{min-width:150px;font-size:16px;padding:12px 24px}@media (max-width: 768px){.camera-preview-modal{padding:0}.camera-preview-content{max-width:100%;max-height:100vh;border-radius:0}.camera-preview-video-container{min-height:50vh}.camera-preview-actions{flex-direction:column}.camera-preview-actions button{width:100%}}.location-error{color:var(--text-secondary);font-size:14px}.form-actions{margin-top:32px;margin-bottom:24px}.btn-large{width:100%;padding:16px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-color);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:12px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-primary)}.btn-link{background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;font-size:14px;padding:0}.sync-section{margin-top:32px;padding:20px;background:var(--card-bg);border-radius:8px;border:2px solid var(--border-color)}.sync-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:var(--text-secondary)}.back-button{padding:8px 16px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:14px;transition:all .2s}.back-button:hover{background:var(--border-color)}.observations-modal{background:var(--card-bg);border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:var(--bg-color);color:var(--text-primary)}.observations-list{overflow-y:auto;padding:20px;flex:1}.observation-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px}.observation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.observation-header h3{margin:0 0 4px;font-size:16px;color:var(--text-primary)}.observation-meta{margin:0;font-size:12px;color:var(--text-secondary)}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.status-badge.status-pending{background:#fbbf2433;color:#fbbf24}[data-theme=dark] .status-badge.status-pending{background:#fbbf244d;color:#fbbf24}.status-badge.status-synced{background:#10b98133;color:var(--success-color)}[data-theme=dark] .status-badge.status-synced{background:#10b9814d;color:#10b981}.status-badge.status-error{background:#ef444433;color:var(--error-color)}[data-theme=dark] .status-badge.status-error{background:#ef44444d;color:#f87171}.observation-detail{margin:8px 0;font-size:14px;color:var(--text-primary)}.observation-detail strong{color:var(--text-primary);margin-right:4px}.observation-error{margin:8px 0 0;font-size:12px;color:var(--error-color);background:#ef444426;padding:8px;border-radius:4px;border:1px solid rgba(239,68,68,.3)}[data-theme=dark] .observation-error{background:#ef444440;border-color:#ef444466}.observation-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);flex-wrap:wrap}.observation-actions .btn-retry-small{flex:1 1 100%;margin-bottom:4px}.btn-edit-small,.btn-delete-small,.btn-retry-small{padding:6px 12px;font-size:13px;border-radius:6px;border:none;cursor:pointer;transition:all .2s;flex:1}.btn-edit-small{background:#3b82f633;color:#3b82f6}.btn-edit-small:hover{background:#3b82f64d}[data-theme=dark] .btn-edit-small{background:#3b82f64d;color:#60a5fa}.btn-retry-small{background:#fbbf2433;color:#fbbf24;font-weight:600}.btn-retry-small:hover:not(:disabled){background:#fbbf244d}.btn-retry-small:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .btn-retry-small{background:#fbbf244d;color:#fcd34d}.btn-delete-small{background:#ef444433;color:var(--error-color)}.btn-delete-small:hover{background:#ef44444d}[data-theme=dark] .btn-delete-small{background:#ef44444d;color:#f87171}@media (max-width: 480px){.field-collect-header{flex-direction:column;align-items:flex-start}.field-collect-header h1{font-size:18px}.connection-status{align-self:flex-end}.observations-modal{max-height:90vh;margin:10px}.observation-header{flex-direction:column;align-items:flex-start}.status-badge{align-self:flex-start}}.local-field-select{position:relative;width:100%}.local-search-container{position:relative;display:flex;align-items:center;gap:8px}.local-search-input{width:100%;padding:10px 40px 10px 12px;border:2px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s}.local-search-input:focus{outline:none;border-color:var(--primary-color)}.local-clear-button{position:absolute;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.local-clear-button:hover{background:var(--error-color-light);color:var(--error-color)}.local-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.local-options-list{max-height:350px;overflow-y:auto;overflow-x:hidden}.local-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-primary);transition:background-color .15s}.local-option:last-child{border-bottom:none}.local-option:hover{background:var(--primary-color-light);color:var(--primary-color)}.local-option.selected{background:var(--primary-color);color:#fff;font-weight:500}.local-option.selected:hover{background:var(--primary-color-dark)}.local-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.local-results-count{padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);text-align:center}.local-options-list::-webkit-scrollbar{width:8px}.local-options-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.local-options-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.local-options-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.taxonomic-species-select-container{position:relative;width:100%}.local-field-input-wrapper{position:relative;display:flex;align-items:center;gap:8px}.local-field-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:400px;overflow-y:auto}.dropdown-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-primary);transition:background-color .2s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--primary-color-light);color:var(--primary-color)}.dropdown-item.selected{background:var(--primary-color);color:#fff;font-weight:500}.dropdown-item.selected:hover{background:var(--primary-color-dark)}.dropdown-item.no-results{padding:20px;text-align:center;color:var(--text-secondary);cursor:default}.dropdown-item.no-results:hover{background:transparent;color:var(--text-secondary)}.dropdown-footer{padding:12px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);text-align:center}.clear-search-button{position:absolute;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background:var(--error-color-light);color:var(--error-color)}.collection-profiles-container{min-height:100vh;background:var(--bg-color);padding-bottom:20px}.collection-profiles-header{background:var(--card-bg);padding:16px 20px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.collection-profiles-header h1{margin:0;font-size:24px;color:var(--text-primary);flex:1}.collection-profiles-content{max-width:1400px;margin:0 auto;padding:0 20px}.filter-section{margin-bottom:20px;display:flex;align-items:center;gap:12px}.filter-section label{font-weight:600;color:var(--text-primary)}.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:20px}.profile-card{background:var(--card-bg);border-radius:8px;padding:16px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.profile-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.profile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-card-header h3{margin:0;font-size:18px;color:var(--text-primary)}.profile-actions{display:flex;gap:8px}.btn-edit-small,.btn-delete-small{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background .2s}.btn-edit-small:hover{background:#3b82f61a}.btn-delete-small:hover{background:#ef44441a}.profile-card-body{display:flex;flex-direction:column;gap:8px}.profile-program,.profile-fields-count{margin:0;font-size:14px;color:var(--text-secondary)}.profile-description{margin:8px 0;font-size:14px;color:var(--text-primary);line-height:1.5}.profile-status{margin-top:8px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#10b98133;color:#10b981}.status-badge.inactive{background:#9ca3af33;color:#9ca3af}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:8px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-large{max-width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:20px;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:32px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary);font-size:14px}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;background:var(--bg-color);color:var(--text-primary);box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:200px}.fields-section{margin-top:24px;padding-top:24px;border-top:2px solid var(--border-color)}.fields-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.fields-header h3{margin:0;font-size:18px;color:var(--text-primary)}.field-item{background:var(--card-bg);padding:20px;border-radius:8px;margin-bottom:16px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d;transition:all .2s}.field-item:hover{box-shadow:0 4px 8px #0000001a;border-color:var(--primary-color)}.field-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.field-row:last-child{margin-bottom:0}.field-item .form-group{margin-bottom:0}.field-item .form-group label{font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-primary);display:block}.field-item .form-input,.field-item .form-select{font-size:14px;padding:10px 12px;border:2px solid var(--border-color);border-radius:6px;width:100%;background:var(--bg-color);color:var(--text-primary);transition:border-color .2s}.field-item .form-input:focus,.field-item .form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #009f571a}.empty-fields{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.field-types-section{margin-bottom:32px;padding-bottom:32px;border-bottom:2px solid var(--border-color)}.field-types-section h3,.field-types-list h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.field-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.field-type-card{background:var(--bg-color);padding:16px;border-radius:6px;border:1px solid var(--border-color);position:relative}.field-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.field-type-header h4{margin:0;font-size:16px;color:var(--text-primary)}.system-badge{background:#3b82f633;color:#3b82f6;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600}.field-type-slug{margin:4px 0;font-size:12px;color:var(--text-secondary);font-family:monospace}.field-type-input{margin:4px 0;font-size:12px;color:var(--text-secondary)}.field-type-description{margin:8px 0 0;font-size:13px;color:var(--text-primary);line-height:1.4}.field-type-card .btn-delete-small{margin-top:12px;width:100%;display:flex;align-items:center;justify-content:center;font-size:18px;padding:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;transition:all .2s}.field-type-card .btn-delete-small:hover{background:#ef444433;border-color:#ef444480;transform:translateY(-1px)}[data-theme=dark] .field-type-card .btn-delete-small{background:#ef444433;border-color:#ef444466;color:#f87171}[data-theme=dark] .field-type-card .btn-delete-small:hover{background:#ef44444d;border-color:#ef444499}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--text-secondary);color:#fff}.btn-small{padding:6px 12px;font-size:12px}.back-button{background:none;border:none;color:var(--text-primary);font-size:16px;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:8px}.back-button:hover{opacity:.8}@media (max-width: 768px){.collection-profiles-header{flex-direction:column;align-items:flex-start}.profiles-grid{grid-template-columns:1fr}.modal-content{max-width:100%;margin:10px}.field-row{flex-direction:column}.field-item{padding:16px}.field-item>div[style*=grid]{grid-template-columns:1fr!important}}.taxonomic-groups-container{min-height:100vh;background:var(--bg-color);padding:20px}.taxonomic-groups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.header-left{display:flex;align-items:center;gap:16px;flex:1}.taxonomic-groups-header h1{margin:0;color:var(--text-primary)}.btn-back{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-back:hover{background:var(--card-bg);border-color:var(--primary-color);color:var(--primary-color);transform:translate(-2px)}.taxonomic-groups-content{display:grid;grid-template-columns:350px 1fr;gap:24px;height:calc(100vh - 120px)}.groups-panel{background:var(--card-bg);border-radius:8px;padding:20px;overflow-y:auto;border:2px solid var(--border-color)}.groups-panel h2{margin:0 0 16px;color:var(--text-primary);font-size:18px}.groups-list{display:flex;flex-direction:column;gap:12px}.group-card{background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.group-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.group-card.selected{border-color:var(--primary-color);background:var(--primary-color-light)}.group-card.inactive{opacity:.6}.group-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.group-card-header h3{margin:0;color:var(--text-primary);font-size:16px;flex:1}.group-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:all .2s}.btn-icon:hover{background:var(--bg-secondary)}.btn-icon.btn-delete:hover{background:var(--error-color-light)}.group-description{margin:8px 0;color:var(--text-secondary);font-size:14px}.group-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.species-count{color:var(--text-secondary);font-size:12px}.inactive-badge{background:var(--error-color-light);color:var(--error-color);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.species-panel{background:var(--card-bg);border-radius:8px;padding:20px;overflow-y:auto;border:2px solid var(--border-color)}.species-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.species-panel-header h2{margin:0;color:var(--text-primary);font-size:18px}.species-actions{display:flex;gap:12px}.species-list{overflow-x:auto}.species-table{width:100%;border-collapse:collapse}.species-table thead{background:var(--bg-secondary)}.species-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:14px}.species-table td{padding:12px;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px}.species-table tr.inactive{opacity:.6}.species-table tbody tr:hover{background:var(--bg-secondary)}.table-actions{display:flex;gap:8px}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.empty-message{text-align:center;color:var(--text-secondary);padding:40px 20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-large{max-width:700px}.modal-content h2{margin:0 0 20px;color:var(--text-primary)}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;margin-bottom:6px;color:var(--text-primary);font-weight:500;font-size:14px}.form-input,.form-textarea{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text-primary);font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.form-textarea{resize:vertical}.csv-textarea{font-family:Courier New,monospace;font-size:12px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.csv-instructions{background:var(--bg-secondary);padding:16px;border-radius:6px;margin-bottom:20px;font-size:14px;color:var(--text-primary)}.csv-instructions p{margin:8px 0}.csv-instructions ul{margin:8px 0 8px 20px;padding:0}.csv-instructions li{margin:4px 0}.csv-instructions pre{background:var(--bg-color);padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;margin:8px 0;border:1px solid var(--border-color)}@media (max-width: 1024px){.taxonomic-groups-content{grid-template-columns:1fr;height:auto}.groups-panel{max-height:300px}}@media (max-width: 768px){.taxonomic-groups-container{padding:12px}.taxonomic-groups-header,.species-panel-header{flex-direction:column;align-items:flex-start;gap:12px}.species-actions{width:100%;flex-direction:column}.form-row{grid-template-columns:1fr}.species-table{font-size:12px}.species-table th,.species-table td{padding:8px}}.app-footer{background:var(--card-bg);border-top:1px solid var(--border-color);padding:20px 20px 16px;margin-top:40px;color:var(--text-secondary)}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.footer-section h4{color:var(--text-primary);margin:0 0 8px;font-size:14px;font-weight:600}.footer-section p{margin:4px 0;font-size:13px;line-height:1.4}.footer-section a{color:var(--primary-color);text-decoration:none;transition:color .2s}.footer-section a:hover{color:var(--primary-hover);text-decoration:underline}.footer-citation{max-width:1200px;margin:20px auto 0;padding-top:20px;border-top:1px solid var(--border-color);text-align:center}.citation-quote{font-style:italic;font-size:14px;color:var(--text-primary);line-height:1.6;max-width:800px;margin:0 auto 8px}.citation-author{font-size:12px;color:var(--text-secondary);margin:0;font-weight:500}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:16px}.app-footer{padding:16px 16px 12px;margin-top:30px}.footer-section h4{margin:0 0 6px;font-size:13px}.footer-section p{margin:3px 0;font-size:12px}.footer-citation{margin-top:16px;padding-top:16px}.citation-quote{font-size:13px;padding:0 10px}.citation-author{font-size:11px}}.update-notification{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10000;max-width:500px;width:calc(100% - 40px);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.update-notification-content{background:var(--card-bg);border:2px solid var(--primary-color);border-radius:12px;padding:16px 20px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;gap:16px}.update-notification-icon{font-size:32px;flex-shrink:0;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-notification-text{flex:1}.update-notification-text strong{display:block;color:var(--text-primary);font-size:16px;margin-bottom:4px;font-weight:600}.update-notification-text p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4}.btn-update{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;white-space:nowrap}.btn-update:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-update:active{transform:translateY(0)}@media (max-width: 768px){.update-notification{bottom:10px;width:calc(100% - 20px)}.update-notification-content{flex-direction:column;text-align:center;padding:14px 16px;gap:12px}.update-notification-icon{font-size:28px}.update-notification-text strong{font-size:15px}.update-notification-text p{font-size:13px}.btn-update{width:100%;padding:12px 20px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #009F57;--primary-hover: #007a44;--primary-light: #DFEAD0;--secondary-color: #64748b;--success-color: #009F57;--error-color: #ef4444;--warning-color: #f59e0b;--bg-color: #f8fafc;--card-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--primary-color: #10b981;--primary-hover: #059669;--primary-light: #064e3b;--secondary-color: #94a3b8;--success-color: #10b981;--error-color: #f87171;--warning-color: #fbbf24;--bg-color: #0f172a;--card-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: #334155;--shadow: 0 1px 3px 0 rgb(0 0 0 / .3), 0 1px 2px -1px rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}body{font-family:Sen,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;font-weight:400}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
