:root{--color-primary-50: 240 253 244;--color-primary-100: 220 252 231;--color-primary-200: 187 247 208;--color-primary-300: 134 239 172;--color-primary-400: 74 222 128;--color-primary-500: 34 197 94;--color-primary-600: 22 163 74;--color-primary-700: 21 128 61;--color-primary-800: 22 101 52;--color-primary-900: 20 83 45;--color-primary-950: 5 46 22;--color-secondary-50: 248 250 252;--color-secondary-100: 241 245 249;--color-secondary-200: 226 232 240;--color-secondary-300: 203 213 225;--color-secondary-400: 148 163 184;--color-secondary-500: 100 116 139;--color-secondary-600: 71 85 105;--color-secondary-700: 51 65 85;--color-secondary-800: 30 41 59;--color-secondary-900: 15 23 42;--color-success: 34 197 94;--color-warning: 245 158 11;--color-error: 239 68 68;--color-info: 59 130 246;--color-earth: 139 90 60;--color-water: 14 165 233;--color-air: 135 206 235;--color-forest: 34 139 34;--color-solar: 255 165 0;--primary-50: rgb(var(--color-primary-50));--primary-100: rgb(var(--color-primary-100));--primary-200: rgb(var(--color-primary-200));--primary-300: rgb(var(--color-primary-300));--primary-400: rgb(var(--color-primary-400));--primary-500: rgb(var(--color-primary-500));--primary-600: rgb(var(--color-primary-600));--primary-700: rgb(var(--color-primary-700));--primary-800: rgb(var(--color-primary-800));--primary-900: rgb(var(--color-primary-900));--primary-950: rgb(var(--color-primary-950));--secondary-50: rgb(var(--color-secondary-50));--secondary-100: rgb(var(--color-secondary-100));--secondary-200: rgb(var(--color-secondary-200));--secondary-300: rgb(var(--color-secondary-300));--secondary-400: rgb(var(--color-secondary-400));--secondary-500: rgb(var(--color-secondary-500));--secondary-600: rgb(var(--color-secondary-600));--secondary-700: rgb(var(--color-secondary-700));--secondary-800: rgb(var(--color-secondary-800));--secondary-900: rgb(var(--color-secondary-900));--success: rgb(var(--color-success));--warning: rgb(var(--color-warning));--error: rgb(var(--color-error));--info: rgb(var(--color-info));--earth: rgb(var(--color-earth));--water: rgb(var(--color-water));--air: rgb(var(--color-air));--forest: rgb(var(--color-forest));--solar: rgb(var(--color-solar))}@media (prefers-color-scheme: dark){:root{--color-primary-50: 5 46 22;--color-primary-100: 20 83 45;--color-primary-200: 22 101 52;--color-primary-300: 21 128 61;--color-primary-400: 22 163 74;--color-primary-500: 34 197 94;--color-primary-600: 74 222 128;--color-primary-700: 134 239 172;--color-primary-800: 187 247 208;--color-primary-900: 220 252 231;--color-primary-950: 240 253 244;--color-secondary-50: 15 23 42;--color-secondary-100: 30 41 59;--color-secondary-200: 51 65 85;--color-secondary-300: 71 85 105;--color-secondary-400: 100 116 139;--color-secondary-500: 148 163 184;--color-secondary-600: 203 213 225;--color-secondary-700: 226 232 240;--color-secondary-800: 241 245 249;--color-secondary-900: 248 250 252}}body{font-family:Inter,system-ui,sans-serif;background-color:var(--secondary-50);color:var(--secondary-900);transition:background-color .2s ease,color .2s ease}.btn-primary{background-color:var(--primary-500);color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-500),.25)}.btn-secondary{background-color:var(--secondary-100);color:var(--secondary-900);border:1px solid var(--secondary-200);padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:var(--secondary-200);border-color:var(--secondary-300)}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px rgba(var(--color-secondary-900),.1),0 1px 2px rgba(var(--color-secondary-900),.06);border:1px solid var(--secondary-200);padding:1.5rem;transition:all .2s ease}.card:hover{box-shadow:0 4px 6px rgba(var(--color-secondary-900),.1),0 2px 4px rgba(var(--color-secondary-900),.06)}.text-gradient{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:600}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-info{color:var(--info)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-error{background-color:var(--error)}.bg-info{background-color:var(--info)}.text-earth{color:var(--earth)}.text-water{color:var(--water)}.text-air{color:var(--air)}.text-forest{color:var(--forest)}.text-solar{color:var(--solar)}.bg-earth{background-color:var(--earth)}.bg-water{background-color:var(--water)}.bg-air{background-color:var(--air)}.bg-forest{background-color:var(--forest)}.bg-solar{background-color:var(--solar)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*:focus{outline:2px solid var(--primary-500);outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-500);outline-offset:2px}.btn-earth{background:linear-gradient(135deg,var(--earth),rgb(120,80,55));color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-earth:hover{background:linear-gradient(135deg,#785037,#654321);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-earth),.25)}.btn-water{background:linear-gradient(135deg,var(--water),rgb(2,132,199));color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-water:hover{background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-water),.25)}.btn-forest{background:linear-gradient(135deg,var(--forest),rgb(22,101,52));color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-forest:hover{background:linear-gradient(135deg,#166534,#14532d);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-forest),.25)}.btn-solar{background:linear-gradient(135deg,var(--solar),rgb(217,119,6));color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-solar:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-solar),.25)}.gradient-earth{background:linear-gradient(135deg,var(--earth),rgb(120,80,55))}.gradient-water{background:linear-gradient(135deg,var(--water),rgb(2,132,199))}.gradient-forest{background:linear-gradient(135deg,var(--forest),var(--primary-700))}.gradient-solar{background:linear-gradient(135deg,var(--solar),rgb(217,119,6))}.gradient-green-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-700))}.impact-positive{color:var(--success);font-weight:600}.impact-neutral{color:var(--secondary-500);font-weight:500}.impact-negative{color:var(--warning);font-weight:600}.impact-critical{color:var(--error);font-weight:700}.eco-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.eco-badge--carbon-neutral{background:rgba(var(--color-success),.1);color:var(--success);border:1px solid rgba(var(--color-success),.2)}.eco-badge--renewable{background:rgba(var(--color-forest),.1);color:var(--forest);border:1px solid rgba(var(--color-forest),.2)}.eco-badge--sustainable{background:rgba(var(--color-water),.1);color:var(--water);border:1px solid rgba(var(--color-water),.2)}.eco-badge--organic{background:rgba(var(--color-earth),.1);color:var(--earth);border:1px solid rgba(var(--color-earth),.2)}.green-link{color:var(--primary-600);text-decoration:none;font-weight:500;transition:all .2s ease;position:relative}.green-link:hover{color:var(--primary-700);text-decoration:underline;text-decoration-color:var(--primary-400)}.green-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));transition:width .3s ease}.green-link:hover:after{width:100%}.metric-earth{border-left:4px solid var(--earth);background:rgba(var(--color-earth),.02)}.metric-water{border-left:4px solid var(--water);background:rgba(var(--color-water),.02)}.metric-forest{border-left:4px solid var(--forest);background:rgba(var(--color-forest),.02)}.metric-solar{border-left:4px solid var(--solar);background:rgba(var(--color-solar),.02)}.progress-sustainable{background-color:rgba(var(--color-primary-500),.1)}.progress-sustainable .progress-bar{background:linear-gradient(90deg,var(--primary-400),var(--primary-600))}.notification-eco{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-left:4px solid var(--primary-500);color:var(--primary-800);padding:1rem;border-radius:.5rem;margin:.5rem 0}.notification-eco .notification-icon{color:var(--primary-600)}.card-earth{border-left:4px solid var(--earth);background:linear-gradient(135deg,rgba(var(--color-earth),.02),rgba(var(--color-earth),.05))}.card-water{border-left:4px solid var(--water);background:linear-gradient(135deg,rgba(var(--color-water),.02),rgba(var(--color-water),.05))}.card-forest{border-left:4px solid var(--forest);background:linear-gradient(135deg,rgba(var(--color-forest),.02),rgba(var(--color-forest),.05))}.card-solar{border-left:4px solid var(--solar);background:linear-gradient(135deg,rgba(var(--color-solar),.02),rgba(var(--color-solar),.05))}.form-control-green:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--color-primary-500),.1);outline:none}.loading-green{border:3px solid rgba(var(--color-primary-500),.1);border-left:3px solid var(--primary-500);border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.card{background:rgba(var(--color-secondary-800),.8);border-color:var(--secondary-700)}.notification-eco{background:linear-gradient(135deg,rgba(var(--color-primary-900),.8),rgba(var(--color-primary-800),.9));color:var(--primary-300)}}
