.login-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5e6d3,#fff9e6 60%,#e8d5c4)}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:480px}.login-form h1{font-size:1.5rem;margin-bottom:.5rem;color:#333}.login-form p{color:#666;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#8b6f47;box-shadow:0 0 0 3px #8b6f4726}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}button[type=submit]{width:100%;padding:.75rem;background:linear-gradient(135deg,#8b6f47,#5c4033);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s}button[type=submit]:hover:not(:disabled){opacity:.9}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #c33}.dashboard-container{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-container h1{font-size:2rem;margin-bottom:2rem;color:#333}.dashboard-section{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.dashboard-section h2{font-size:1.5rem;margin-bottom:1rem;color:#333}.dashboard-section form{display:flex;gap:1rem;margin-bottom:1rem}.dashboard-section input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.dashboard-section button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b6f47,#5c4033);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .3s}.dashboard-section button:hover{opacity:.9}.batches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.batch-card{background:linear-gradient(135deg,#fff9e6,#f5e6d3);padding:1.5rem;border-radius:8px;border-left:4px solid #8B6F47}.batch-card h3{margin-bottom:1rem;color:#333}.batch-card p{margin-bottom:.5rem;color:#666;font-size:.95rem}.batch-card strong{color:#333}.farmers-list,.tree-plantings-list,.users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.farmer-card,.tree-planting-card,.user-card{background:linear-gradient(135deg,#fff9e6,#f5e6d3);padding:1.5rem;border-radius:8px;border-left:4px solid #8B6F47}.farmer-card h3,.tree-planting-card h3,.user-card h3{margin-bottom:1rem;color:#333}.farmer-card p,.tree-planting-card p,.user-card p{margin-bottom:.5rem;color:#666;font-size:.95rem}.user-actions,.action-buttons{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.user-actions button,.action-buttons button{flex:1;min-width:100px;padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .3s}.user-actions button{background:linear-gradient(135deg,#8b6f47,#5c4033);color:#fff}.user-actions button:hover{opacity:.9}.btn-approve{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.btn-approve:hover{opacity:.9}.btn-reject{background:linear-gradient(135deg,#eb3349,#f45c43);color:#fff}.btn-reject:hover{opacity:.9}.btn-cancel{background:#ccc;color:#333}.btn-cancel:hover{opacity:.8}.btn-danger{background:linear-gradient(135deg,#eb3349,#f45c43);color:#fff}.btn-danger:hover{opacity:.9}.batch-details{background:#f9f9f9;padding:1.5rem;border-radius:8px;margin-bottom:1rem}.batch-details p{margin-bottom:.75rem;color:#666}.role-update-form{background:#f9f9f9;padding:1.5rem;border-radius:8px}.role-update-form select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;margin:1rem 0;font-size:1rem}.success-message{background-color:#efe;color:#3c3;padding:.75rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #3c3}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-slide-up{animation:slideUp .6s ease-out}.animate-slide-down{animation:slideDown .6s ease-out}.animate-slide-left{animation:slideLeft .6s ease-out}.animate-slide-right{animation:slideRight .6s ease-out}.animate-scale-in{animation:scaleIn .6s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.parallax{will-change:transform}.gpu-accelerated{transform:translateZ(0);will-change:transform}
