:root{--primary-green:#10b981;--primary-green-dark:#059669;--secondary-orange:#f59e0b;--petrol-red:#ef4444;--ev-blue:#3b82f6;--background:#f8fafc;--card-bg:#ffffff;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 3px 0 rgba(0, 0, 0, 0.1);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1);--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms ease-in-out;--transition-base:300ms ease-in-out;--transition-slow:500ms ease-in-out}.ev-calculator-wrapper *{box-sizing:border-box;margin:0;padding:0}.ev-calculator-wrapper{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;max-width:1200px;margin:0 auto;padding:var(--spacing-xl);background:var(--background);color:var(--text-primary);line-height:1.6}.calculator-header{text-align:center;margin-bottom:var(--spacing-2xl);animation:fadeInDown 0.6s ease-out}.calculator-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary-green),var(--ev-blue));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.calculator-subtitle{font-size:1.125rem;color:var(--text-secondary);font-weight:400}.vehicle-type-selector{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);background:var(--card-bg);padding:var(--spacing-sm);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:fadeInUp 0.6s ease-out 0.2s both}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--border-color);background:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-base);position:relative;overflow:hidden}.type-btn::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-green),var(--ev-blue));opacity:0;transition:opacity var(--transition-base);z-index:0}.type-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.type-btn.active{border-color:var(--primary-green);color:#fff}.type-btn.active::before{opacity:1}.type-btn span,.type-icon{position:relative;z-index:1}.type-icon{width:24px;height:24px}.calculator-body{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl);animation:fadeInUp 0.6s ease-out 0.4s both}.vehicle-section{background:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}.vehicle-section:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:3px solid}.petrol-header{border-color:var(--petrol-red)}.ev-header{border-color:var(--primary-green)}.section-header h3{font-size:1.5rem;font-weight:700}.fuel-icon{font-size:1.75rem}.input-group{margin-bottom:var(--spacing-lg)}.input-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.vehicle-select,.input-group input[type="number"]{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-fast);background:#fff}.vehicle-select:focus,.input-group input[type="number"]:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px rgb(16 185 129 / .1)}.vehicle-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem;cursor:pointer}.input-helper{font-size:.75rem;color:var(--text-secondary);margin-top:var(--spacing-xs);font-style:italic}.cost-display{margin-top:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--radius-lg);text-align:center;animation:pulse 2s infinite}.petrol-cost{background:linear-gradient(135deg,rgb(239 68 68 / .1),rgb(239 68 68 / .05));border:2px solid rgb(239 68 68 / .3)}.ev-cost{background:linear-gradient(135deg,rgb(16 185 129 / .1),rgb(16 185 129 / .05));border:2px solid rgb(16 185 129 / .3)}.cost-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.cost-value{font-size:2rem;font-weight:800;margin-top:var(--spacing-xs)}.petrol-cost .cost-value{color:var(--petrol-red)}.ev-cost .cost-value{color:var(--primary-green)}.vs-divider{display:flex;align-items:center;justify-content:center}.vs-text{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary-orange),var(--petrol-red));color:#fff;font-size:1.25rem;font-weight:800;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);animation:rotate 3s linear infinite}.results-section{animation:fadeInUp 0.6s ease-out}.savings-card{background:linear-gradient(135deg,var(--primary-green),var(--ev-blue));padding:var(--spacing-2xl);border-radius:var(--radius-xl);color:#fff;margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-xl)}.savings-header h3{font-size:1.75rem;font-weight:800;margin-bottom:var(--spacing-lg);text-align:center}.savings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.saving-item{background:rgb(255 255 255 / .15);backdrop-filter:blur(10px);padding:var(--spacing-lg);border-radius:var(--radius-lg);text-align:center;transition:transform var(--transition-base)}.saving-item:hover{transform:scale(1.05);background:rgb(255 255 255 / .2)}.saving-item.highlight{background:rgb(255 255 255 / .25);border:2px solid rgb(255 255 255 / .5)}.saving-label{font-size:.875rem;opacity:.9;margin-bottom:var(--spacing-xs)}.saving-value{font-size:1.75rem;font-weight:800}.savings-percentage{text-align:center;font-size:1.25rem;padding:var(--spacing-md);background:rgb(255 255 255 / .2);border-radius:var(--radius-lg)}.advanced-comparison{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-xl)}.toggle-advanced{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:none;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;color:var(--text-primary);transition:all var(--transition-base)}.toggle-advanced:hover{background:var(--background);border-color:var(--primary-green)}.toggle-advanced.active .arrow-icon{transform:rotate(180deg)}.arrow-icon{width:20px;height:20px;transition:transform var(--transition-base)}.advanced-content{margin-top:var(--spacing-xl)}.advanced-content h4{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary)}.ownership-analysis{margin-bottom:var(--spacing-2xl)}.ownership-comparison{display:flex;flex-direction:column;gap:var(--spacing-lg)}.ownership-bar{display:flex;align-items:center;gap:var(--spacing-md)}.bar-label{min-width:80px;font-weight:600}.bar-container{flex:1;position:relative;height:50px;background:var(--background);border-radius:var(--radius-md);overflow:hidden}.bar{height:100%;display:flex;align-items:center;padding:0 var(--spacing-md);transition:width var(--transition-slow);position:relative}.petrol-bar{background:linear-gradient(90deg,var(--petrol-red),#fca5a5)}.ev-bar{background:linear-gradient(90deg,var(--primary-green),#6ee7b7)}.bar-value{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);font-weight:700;color:var(--text-primary)}.ownership-note{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--background);border-left:4px solid var(--primary-green);border-radius:var(--radius-sm);font-size:1rem}.breakeven-section{margin-bottom:var(--spacing-2xl)}.breakeven-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.breakeven-stat{padding:var(--spacing-lg);background:var(--background);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-green)}.breakeven-note{font-size:.875rem;color:var(--text-secondary);font-style:italic}.environmental-section{padding:var(--spacing-xl);background:linear-gradient(135deg,rgb(16 185 129 / .1),rgb(59 130 246 / .1));border-radius:var(--radius-lg)}.env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.env-stat{text-align:center}.env-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.env-value{font-size:1.75rem;font-weight:800;color:var(--primary-green);margin-bottom:var(--spacing-xs)}.env-label{font-size:.875rem;color:var(--text-secondary)}.cta-section{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.btn-primary,.btn-secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-primary{background:linear-gradient(135deg,var(--primary-green),var(--ev-blue));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:#fff;color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--background);border-color:var(--primary-green)}.btn-icon{width:20px;height:20px}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);animation:fadeInUp 0.6s ease-out 0.6s both}.info-card{background:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);text-align:center;transition:transform var(--transition-base)}.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.info-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.info-card h4{font-size:1.125rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.info-card p{font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.calculator-footer{text-align:center;padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.calculator-footer p{margin-bottom:var(--spacing-xs);font-size:.9375rem;color:var(--text-secondary)}.calculator-footer a{color:var(--primary-green);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}.calculator-footer a:hover{color:var(--primary-green-dark);text-decoration:underline}.disclaimer{font-size:0.8125rem!important;font-style:italic}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (max-width:968px){.calculator-body{grid-template-columns:1fr}.vs-divider{transform:rotate(90deg);margin:var(--spacing-lg) 0}.calculator-title{font-size:2rem}.savings-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.ev-calculator-wrapper{padding:var(--spacing-md)}.calculator-title{font-size:1.75rem}.calculator-subtitle{font-size:1rem}.vehicle-type-selector{flex-direction:column}.vehicle-section{padding:var(--spacing-lg)}.savings-card{padding:var(--spacing-lg)}.savings-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.cta-section{flex-direction:column}.info-cards{grid-template-columns:1fr}.cost-value{font-size:1.5rem}.saving-value{font-size:1.5rem}}@media print{.vehicle-type-selector,.cta-section,.info-cards{display:none}.calculator-body,.results-section{break-inside:avoid}}