*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#2d5016;--primary-dark:#1a3009;--primary-light:#4a7c26;--secondary-color:#f4a261;--accent-color:#e76f51;--success-color:#06d6a0;--warning-color:#ffd166;--error-color:#ef476f;--bg-color:#f8f9fa;--surface-color:#fff;--text-primary:#212529;--text-secondary:#6c757d;--text-loading:#fff;--border-color:#dee2e6;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--border-radius:8px;--bg-image-url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cpath fill='%231df309' fill-opacity='.1' d='M0 40a19.96 19.96 0 0 1 5.9-14.11 20.17 20.17 0 0 1 19.44-5.2A20 20 0 0 1 20.2 40H0zM65.32.75A20.02 20.02 0 0 1 40.8 25.26 20.02 20.02 0 0 1 65.32.76zM.07 0h20.1l-.08.07A20.02 20.02 0 0 1 .75 5.25 20.08 20.08 0 0 1 .07 0zm1.94 40h2.53l4.26-4.24v-9.78A17.96 17.96 0 0 0 2 40zm5.38 0h9.8a17.98 17.98 0 0 0 6.67-16.42L7.4 40zm3.43-15.42v9.17l11.62-11.59c-3.97-.5-8.08.3-11.62 2.42zm32.86-.78A18 18 0 0 0 63.85 3.63L43.68 23.8zm7.2-19.17v9.15L62.43 2.22c-3.96-.5-8.05.3-11.57 2.4zm-3.49 2.72c-4.1 4.1-5.81 9.69-5.13 15.03l6.61-6.6V6.02c-.51.41-1 .85-1.48 1.33zM17.18 0H7.42L3.64 3.78A18 18 0 0 0 17.18 0zM2.08 0c-.01.8.04 1.58.14 2.37L4.59 0H2.07z'/%3E%3C/svg%3E");--transition:all 0.3s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;animation:bgMove 120s linear infinite;background-color:#f8f9fa;background-color:var(--bg-color);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cpath fill='%231df309' fill-opacity='.1' d='M0 40a19.96 19.96 0 0 1 5.9-14.11 20.17 20.17 0 0 1 19.44-5.2A20 20 0 0 1 20.2 40H0zM65.32.75A20.02 20.02 0 0 1 40.8 25.26 20.02 20.02 0 0 1 65.32.76zM.07 0h20.1l-.08.07A20.02 20.02 0 0 1 .75 5.25 20.08 20.08 0 0 1 .07 0zm1.94 40h2.53l4.26-4.24v-9.78A17.96 17.96 0 0 0 2 40zm5.38 0h9.8a17.98 17.98 0 0 0 6.67-16.42L7.4 40zm3.43-15.42v9.17l11.62-11.59c-3.97-.5-8.08.3-11.62 2.42zm32.86-.78A18 18 0 0 0 63.85 3.63L43.68 23.8zm7.2-19.17v9.15L62.43 2.22c-3.96-.5-8.05.3-11.57 2.4zm-3.49 2.72c-4.1 4.1-5.81 9.69-5.13 15.03l6.61-6.6V6.02c-.51.41-1 .85-1.48 1.33zM17.18 0H7.42L3.64 3.78A18 18 0 0 0 17.18 0zM2.08 0c-.01.8.04 1.58.14 2.37L4.59 0H2.07z'/%3E%3C/svg%3E");background-image:var(--bg-image-url);background-repeat:repeat;background-size:120px;color:#212529;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}@keyframes bgMove{0%{background-position:0 0}to{background-position:100% 100%}}.app-root{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#2d5016,#4a7c26);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);color:#fff;padding:1.5rem 2rem}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.app-header h1{font-size:1.75rem;font-weight:600;margin:0}.header-info{align-items:center;display:flex;gap:1rem}.backend-status{border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;padding:.5rem 1rem}.backend-status.online{background-color:#fff3}.backend-status.offline{background-color:#ef476f4d}.refresh-btn{background-color:#fff3;border:1px solid #ffffff4d;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .3s ease;transition:var(--transition)}.refresh-btn:hover:not(:disabled){background-color:#ffffff4d}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.user-info{align-items:center;background-color:#fff3;border-radius:8px;border-radius:var(--border-radius);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.user-info.clickable{cursor:pointer;transition:background-color .2s}.user-info.clickable:hover{background-color:#ffffff4d}.user-avatar{object-fit:cover}.user-avatar,.user-avatar-initials{border:2px solid #ffffff80;border-radius:50%;height:32px;width:32px}.user-avatar-initials{align-items:center;background-color:#ffffff4d;color:#fff;display:flex;font-size:.75rem;font-weight:600;justify-content:center}.signout-btn{background-color:#ef476f4d;border:1px solid #ef476f80;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .3s ease;transition:var(--transition)}.signout-btn:hover{background-color:#ef476f80}.container{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.loading-overlay{align-items:center;display:flex;grid-column:1/-1;justify-content:center;min-height:400px}.loading-spinner{animation:pulse 1.5s ease-in-out infinite;color:#fff;color:var(--text-loading);font-size:1.25rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.message-banner{align-items:center;animation:slideDown .3s ease-out;border-radius:8px;border-radius:var(--border-radius);display:flex;grid-column:1/-1;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.message-banner.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-banner.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message-banner button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;opacity:.7;transition:opacity .2s}.message-banner button:hover{opacity:1}.empty-state{color:#6c757d;color:var(--text-secondary);grid-column:1/-1;padding:4rem 2rem;text-align:center}.empty-state h2{color:#212529;color:var(--text-primary);margin-bottom:1rem}.left-column{gap:2rem}.left-column,.right-column{display:flex;flex-direction:column}.card{background-color:#fff;background-color:var(--surface-color);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.card:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md)}.card h3{border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color);color:#2d5016;color:var(--primary-color);font-size:1.25rem;margin-bottom:1rem;padding-bottom:.5rem}.dashboard{display:flex;flex-direction:column;gap:1rem}.dashboard-title{color:#2d5016;color:var(--primary-color);font-size:1.5rem;margin-bottom:1rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-empty{color:#6c757d;color:var(--text-secondary);padding:2rem;text-align:center}.player-stats .stats-grid{grid-gap:.75rem;display:grid;gap:.75rem}.stat-item{align-items:center;background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);display:flex;justify-content:space-between;padding:.75rem}.stat-label{color:#6c757d;color:var(--text-secondary);font-weight:500}.stat-value{color:#212529;color:var(--text-primary);font-size:1.1rem;font-weight:600}.stat-value.highlight{color:#2d5016;color:var(--primary-color);font-size:1.25rem}.no-data{color:#6c757d;color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.world-state{min-height:200px}.world-info-grid{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.world-info-item{background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);display:flex;justify-content:space-between;padding:.75rem}.world-info-label{color:#6c757d;color:var(--text-secondary);font-weight:500}.world-info-value{color:#212529;color:var(--text-primary);font-weight:600}.world-additional{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.additional-section{color:#6c757d;color:var(--text-secondary);margin-bottom:.5rem}.world-debug{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.world-debug summary{color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:.875rem;-webkit-user-select:none;user-select:none}.world-debug summary:hover{color:#212529;color:var(--text-primary)}.json-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);font-size:.75rem;line-height:1.5;margin-top:.5rem;max-height:300px;overflow-x:auto;overflow-y:auto;padding:1rem}.actions-panel{max-height:calc(100vh - 4rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:2rem}.actions-list{gap:.75rem}.action-btn,.actions-list{display:flex;flex-direction:column}.action-btn{background-color:#f8f9fa;background-color:var(--bg-color);border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;gap:.25rem;padding:1rem;text-align:left;transition:all .3s ease;transition:var(--transition)}.action-btn:hover:not(:disabled){background-color:#e8f5e9;border-color:#2d5016;border-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.5}.action-name{color:#212529;color:var(--text-primary);font-size:1rem;font-weight:600}.action-desc{color:#6c757d;color:var(--text-secondary);font-size:.875rem}.action-form{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.action-form h4{color:#2d5016;color:var(--primary-color)}.action-form h4,.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group .required{color:#ef476f;color:var(--error-color);margin-left:.25rem}.form-group input{border:1px solid #dee2e6;border:1px solid var(--border-color);width:100%}.form-group input:disabled{background-color:#f8f9fa;background-color:var(--bg-color);cursor:not-allowed}.form-group select{background-color:#fff;background-color:var(--surface-color);border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);color:#212529;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem;transition:all .3s ease;transition:var(--transition);width:100%}.form-group select:focus{border-color:#2d5016;border-color:var(--primary-color);box-shadow:0 0 0 3px #2d50161a;outline:none}.form-group select.error{border-color:#ef476f;border-color:var(--error-color)}.form-group select:disabled{background-color:#f8f9fa;background-color:var(--bg-color);cursor:not-allowed;opacity:.6}.param-help{color:#6c757d;color:var(--text-secondary);display:block;font-size:.75rem;margin-top:.25rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.primary-btn{background-color:#2d5016;background-color:var(--primary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.primary-btn:hover:not(:disabled){background-color:#1a3009;background-color:var(--primary-dark);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.primary-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.secondary-btn{background-color:#fff;background-color:var(--surface-color);border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#212529;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.secondary-btn:hover:not(:disabled){background-color:#f8f9fa;background-color:var(--bg-color);border-color:#6c757d;border-color:var(--text-secondary)}.no-actions{color:#6c757d;color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.event-log{display:flex;flex-direction:column;max-height:500px}.event-log-header{align-items:center;border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.event-log-header h3{border-bottom:none;margin:0}.event-count{background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);color:#6c757d;color:var(--text-secondary);font-size:.875rem;padding:.25rem .75rem}.event-list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:.5rem}.event-item{background-color:#f8f9fa;background-color:var(--bg-color);border-left:4px solid #dee2e6;border-left:4px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);padding:1rem;transition:all .3s ease;transition:var(--transition)}.event-item:hover{box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm)}.event-item.info{border-left-color:#17a2b8}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.event-type{font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.event-time{color:#6c757d;color:var(--text-secondary);font-size:.75rem}.event-message{color:#212529;color:var(--text-primary);line-height:1.5}.event-details{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.event-details pre{font-size:.75rem;max-height:200px;overflow-y:auto}.event-details pre,.no-events{color:#6c757d;color:var(--text-secondary)}.no-events{font-style:italic;padding:2rem;text-align:center}.app-footer{background-color:#fff;background-color:var(--surface-color);border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);margin-top:auto;padding:1.5rem 2rem}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.player-info{display:flex;gap:1rem}.credits,.player-info{color:#6c757d;color:var(--text-secondary);font-size:.875rem}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8f9fa;background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#dee2e6;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6c757d;background:var(--text-secondary)}.soil-card .soil-info{display:flex;flex-direction:column;gap:1rem}.soil-type{background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);display:flex;font-weight:500;justify-content:space-between;padding:.75rem}.soil-label{color:#6c757d;color:var(--text-secondary)}.soil-value{color:#212529;color:var(--text-primary);font-weight:600}.soil-metric{display:flex;flex-direction:column;gap:.5rem}.metric-header{align-items:center;display:flex;justify-content:space-between}.metric-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-weight:500}.metric-status{border-radius:4px;border-radius:calc(var(--border-radius)/2);font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.metric-status.unknown{background-color:#e9ecef;color:#6c757d;color:var(--text-secondary)}.metric-status.dry,.metric-status.low,.metric-status.poor{background-color:#fee;color:#c33}.metric-status.moderate{background-color:#fff3cd;color:#856404}.metric-status.good{background-color:#d4edda;color:#155724}.metric-status.excellent,.metric-status.high,.metric-status.wet{background-color:#d1ecf1;color:#0c5460}.metric-status.acidic{background-color:#f8d7da;color:#721c24}.metric-status.neutral{background-color:#d4edda;color:#155724}.metric-status.alkaline{background-color:#d1ecf1;color:#0c5460}.metric-bar{background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;height:8px;overflow:hidden;width:100%}.metric-fill{border-radius:4px;height:100%;transition:width .3s ease}.metric-fill.moisture{background:linear-gradient(90deg,#ff6b6b,#4ecdc4)}.metric-fill.nutrients{background:linear-gradient(90deg,#feca57,#48dbfb)}.metric-fill.fertility{background:linear-gradient(90deg,#ff9ff3,#54a0ff)}.metric-fill.forest-health{background:linear-gradient(90deg,#00d2d3,#01a3a4)}.metric-fill.biodiversity{background:linear-gradient(90deg,#a8edea,#fed6e3)}.metric-fill.pest-outbreak{background:linear-gradient(90deg,#ff6b6b,#ee5a6f)}.metric-status.low{background-color:#d4edda;color:#155724}.metric-status.medium{background-color:#fff3cd;color:#856404}.metric-status.high{background-color:#f8d7da;color:#721c24}.metric-value{color:#212529;color:var(--text-primary);font-size:.875rem;font-weight:600}.ph-value{background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);padding:.5rem;text-align:center}.crops-card .crops-list{display:flex;flex-direction:column;gap:1rem}.crop-item{background-color:#f8f9fa;background-color:var(--bg-color);border-left:4px solid #2d5016;border-left:4px solid var(--primary-color);border-radius:8px;border-radius:var(--border-radius);padding:1rem}.crop-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.crop-icon{font-size:1.5rem}.crop-info{display:flex;flex:1 1;flex-direction:column}.crop-type{color:#212529;color:var(--text-primary);font-weight:600}.crop-stage{color:#6c757d;color:var(--text-secondary);font-size:.875rem;text-transform:capitalize}.crop-health{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.health-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;min-width:60px}.health-bar{background-color:#e9ecef;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.health-fill{height:100%;transition:width .3s ease}.health-fill.excellent{background-color:#06d6a0;background-color:var(--success-color)}.health-fill.good{background-color:#48dbfb}.health-fill.moderate{background-color:#ffd166;background-color:var(--warning-color)}.health-fill.poor{background-color:#ef476f;background-color:var(--error-color)}.health-value{font-size:.875rem;font-weight:600;min-width:45px;text-align:right}.crop-age{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);display:flex;font-size:.875rem;justify-content:space-between;margin-top:.5rem;padding-top:.5rem}.age-label{color:#6c757d;color:var(--text-secondary)}.age-value{color:#212529;color:var(--text-primary);font-weight:600}.forest-card .forest-info{display:flex;flex-direction:column;gap:1rem}.forest-metric{display:flex;flex-direction:column;gap:.5rem}.forest-metric:not(:has(.metric-bar)){background-color:#f8f9fa;background-color:var(--bg-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);flex-direction:row;justify-content:space-between;padding:.75rem}.forest-label{color:#6c757d;color:var(--text-secondary);font-weight:500}.forest-value{color:#212529;color:var(--text-primary);font-weight:600}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background-color:#fff;background-color:var(--surface-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);max-width:450px;padding:2.5rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:#2d5016;color:var(--primary-color);font-size:2rem;margin-bottom:.5rem}.auth-header p{color:#6c757d;color:var(--text-secondary);font-size:.875rem}.auth-form{gap:1.25rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#212529;color:var(--text-primary);font-size:.875rem;font-weight:500}.form-group input{border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);font-size:1rem;padding:.75rem;transition:all .3s ease;transition:var(--transition)}.form-group input:focus{border-color:#2d5016;border-color:var(--primary-color);box-shadow:0 0 0 3px #2d50161a;outline:none}.form-group input.error{border-color:#ef476f;border-color:var(--error-color)}.error-message{color:#ef476f;color:var(--error-color);font-size:.875rem;margin-top:-.5rem}.auth-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.auth-link{color:#6c757d;color:var(--text-secondary);font-size:.875rem;margin-top:1rem;text-align:center}.auth-link a{color:#2d5016;color:var(--primary-color);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.code-input-group{display:flex;gap:.5rem;justify-content:center}.code-input{border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:4px;border-radius:calc(var(--border-radius)/2);font-size:1.5rem;font-weight:600;height:60px;text-align:center;transition:all .3s ease;transition:var(--transition);width:50px}.code-input:focus{border-color:#2d5016;border-color:var(--primary-color);box-shadow:0 0 0 3px #2d50161a;outline:none}.code-input.error{border-color:#ef476f;border-color:var(--error-color)}.resend-code{color:#6c757d;color:var(--text-secondary);font-size:.875rem;margin-top:1rem;text-align:center}.resend-code button{background:none;border:none;color:#2d5016;color:var(--primary-color);cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.resend-code button:hover{color:#1a3009;color:var(--primary-dark)}.resend-code button:disabled{color:#6c757d;color:var(--text-secondary);cursor:not-allowed;text-decoration:none}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;border-radius:calc(var(--border-radius)/2);color:#155724;margin-bottom:1rem;padding:1rem;text-align:center}.toast-container{bottom:2rem;flex-direction:column;gap:.75rem;pointer-events:none;position:fixed;right:2rem;z-index:10000}.toast,.toast-container{display:flex;max-width:400px}.toast{align-items:center;animation:slideInRight .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);justify-content:space-between;min-width:300px;padding:1rem 1.25rem;pointer-events:auto}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-content{align-items:center;display:flex;flex:1 1;gap:.75rem}.toast-icon{flex-shrink:0;font-size:1.5rem}.toast-message{word-wrap:break-word;font-size:.9375rem;font-weight:500;line-height:1.4}.toast-close{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:1.5rem;line-height:1;margin-left:.75rem;opacity:.6;padding:0;transition:opacity .2s}.toast-close:hover{opacity:1}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background-color:#fff;background-color:var(--surface-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#2d5016;color:var(--primary-color);font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .3s ease;transition:var(--transition);width:32px}.modal-close:hover{background-color:#f8f9fa;background-color:var(--bg-color);color:#212529;color:var(--text-primary)}.modal-form{padding:1.5rem}.profile-picture-section{align-items:center;display:flex;flex-direction:column;margin-bottom:2rem}.profile-picture-preview{background-color:#f8f9fa;background-color:var(--bg-color);border:4px solid #dee2e6;border:4px solid var(--border-color);border-radius:50%;height:120px;overflow:hidden;position:relative;width:120px}.profile-picture-preview img{height:100%;object-fit:cover;width:100%}.profile-picture-placeholder{align-items:center;background-color:#e9ecef;display:flex;height:100%;justify-content:center;width:100%}.profile-initials{color:#212529;color:var(--text-primary);font-size:2.5rem;font-weight:600}.profile-picture-overlay{align-items:center;background-color:#0009;bottom:0;color:#fff;display:flex;flex-direction:column;font-size:.875rem;gap:.25rem;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s}.profile-picture-preview:hover .profile-picture-overlay{opacity:1}.camera-icon{font-size:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-help{color:#6c757d;color:var(--text-secondary);display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.form-group input.disabled{background-color:#f8f9fa;background-color:var(--bg-color);cursor:not-allowed;opacity:.7}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.toast-container{bottom:1rem;left:1rem;max-width:none;right:1rem}.toast{max-width:none;min-width:auto}.header-info{flex-direction:column}.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.container{gap:1rem;padding:1rem}.dashboard-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}.header-content{align-items:flex-start;flex-direction:column}}@media (max-width:1024px){.container{grid-template-columns:1fr}}
/*# sourceMappingURL=main.e00eaa2d.css.map*/