.calc-input{width:100%;box-sizing:border-box}.calc-input.valid,.input-group input.valid{border-color:#059669;background:#f0fdf4}.calc-input.invalid,.input-group input.invalid{border-color:#dc2626;background:#fef2f2;animation:shake 0.4s ease}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.input-with-icon{position:relative}.input-with-icon input{padding-left:45px}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#6b7280;font-size:1.2rem;pointer-events:none}.calc-btn,.calculate-btn{width:100%;padding:14px 24px;background:#1d4ed8;color:white;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:background 0.2s ease,box-shadow 0.2s ease;letter-spacing:0.5px;margin-top:20px;box-shadow:0 2px 8px rgba(29,78,216,0.2)}.calc-btn:hover,.calculate-btn:hover{background:#1e40af;box-shadow:0 4px 12px rgba(29,78,216,0.3)}.calc-btn:active,.calculate-btn:active{background:#1e3a8a;box-shadow:0 2px 6px rgba(29,78,216,0.2)}.calc-btn:disabled,.calculate-btn:disabled{opacity:0.6;cursor:not-allowed}.calc-btn.loading,.calculate-btn.loading{pointer-events:none;position:relative;color:transparent}.calc-btn.loading::after,.calculate-btn.loading::after{content:'';position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.calculator-box{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,0.07);border:1px solid #e2e8f0}#result{margin-top:1.5rem;min-height:50px;animation:fadeInUp 0.3s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tooltip{position:relative;display:inline-block;cursor:help}.tooltip .tooltiptext{visibility:hidden;width:220px;background:#1e293b;color:white;text-align:center;border-radius:8px;padding:10px;position:absolute;z-index:1000;bottom:125%;left:50%;margin-left:-110px;opacity:0;transition:opacity 0.2s ease;font-size:0.85rem;line-height:1.4;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.tooltip .tooltiptext::after{content:'';position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#1e293b transparent transparent transparent}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.progress-indicator{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin:1rem 0}.progress-bar-fill{height:100%;background:#1d4ed8;border-radius:3px;transition:width 0.4s ease}.copy-btn{background:#059669;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:0.875rem;font-weight:600;transition:background 0.2s ease;display:inline-flex;align-items:center;gap:6px}.copy-btn:hover{background:#047857}.copy-btn.copied{background:#0284c7}.copy-btn.copied::before{content:'\2713 '}.reset-btn{background:#64748b;color:white;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:0.95rem;font-weight:600;transition:background 0.2s ease;margin-top:12px}.reset-btn:hover{background:#475569}.comparison-table{width:100%;margin:1.5rem 0;border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.comparison-table th{background:#1d4ed8;color:white;padding:12px 16px;text-align:left;font-weight:600;font-size:0.875rem;letter-spacing:0.3px}.comparison-table td{padding:12px 16px;background:white;border-bottom:1px solid #f1f5f9}.comparison-table tr:hover td{background:#f8fafc}.comparison-table tr:last-child td{border-bottom:none}.highlight-number{font-size:2.25rem;font-weight:700;color:#1d4ed8;display:inline-block;line-height:1.2}.success-message{background:#f0fdf4;border:1px solid #059669;border-left:4px solid #059669;color:#065f46;padding:12px 16px;border-radius:8px;margin:1rem 0;display:flex;align-items:center;gap:10px}.error-message{background:#fef2f2;border:1px solid #dc2626;border-left:4px solid #dc2626;color:#991b1b;padding:12px 16px;border-radius:8px;margin:1rem 0;display:flex;align-items:center;gap:10px}.skeleton{background:#e2e8f0;animation:loading 1.5s ease-in-out infinite;border-radius:6px}@keyframes loading{0%,100%{opacity:1}50%{opacity:0.6}}.skeleton-text{height:18px;margin:8px 0}.skeleton-title{height:28px;margin:12px 0}[data-theme="dark"] .calc-input,[data-theme="dark"] .input-group input,[data-theme="dark"] .input-group select{background:#1e293b;border-color:#334155;color:#f1f5f9}[data-theme="dark"] .calculator-box{background:#1e293b;border-color:#334155}[data-theme="dark"] .comparison-table td{background:#1e293b;border-color:#334155;color:#f1f5f9}@media print{.calc-btn,.calculate-btn,.reset-btn,.copy-btn{display:none}.calculator-box{box-shadow:none;border:1px solid #d1d5db}}@media (max-width:768px){.calc-btn,.calculate-btn{padding:12px 20px;font-size:1rem}.calc-input,.input-group input,.input-group select{padding:12px 14px;font-size:1rem}.calculator-box{padding:1.25rem}.highlight-number{font-size:1.75rem}}.calc-input:focus-visible,.calc-btn:focus-visible,.calculate-btn:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}@media (prefers-contrast:high){.calc-input,.input-group input,.input-group select{border-width:3px}.calc-btn,.calculate-btn{border:2px solid white}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}