*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f8fafc;color:#1e293b;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width: 769px){.app-container{padding:0 24px}}.app-header{text-align:center;padding:24px 0;border-bottom:1px solid #e2e8f0;margin-bottom:32px}.app-header h1{font-size:2rem;font-weight:700;color:#2563eb;margin-bottom:8px}@media (min-width: 769px){.app-header h1{font-size:2.5rem}}.app-header .subtitle{color:#64748b;font-size:1.1rem}.app-main{display:flex;flex-direction:column;gap:32px}@media (min-width: 769px){.app-main{gap:48px}}section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}section h2{font-size:1.5rem;font-weight:600;margin-bottom:20px;color:#1e293b}section h3{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:#1e293b}.price-graph-section .graph-container{background:#f8fafc;border-radius:8px;padding:16px;margin-bottom:20px;overflow-x:auto}.price-graph-section .graph-container canvas{max-width:100%;height:auto}.price-graph-section .price-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 480px){.price-graph-section .price-info{grid-template-columns:1fr}}.price-graph-section .price-stat{display:flex;flex-direction:column;align-items:center;padding:16px;background:#f8fafc;border-radius:8px}.price-graph-section .price-stat .label{font-size:.875rem;color:#64748b;margin-bottom:4px}.price-graph-section .price-stat .value{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:4px}.price-graph-section .price-stat .price{font-size:1rem;color:#2563eb;font-weight:500}.price-graph-section .price-stat:nth-child(2) .price{color:#10b981}.calculator-section .device-list{margin-bottom:20px}.calculator-section .add-device-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.calculator-section .add-device-btn:hover{background:#134cca}.calculator-section .add-device-btn:active{transform:translateY(1px)}.device-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px}.device-card .device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.device-card .device-header .device-name{font-weight:600;color:#1e293b}.device-card .device-header .device-power{font-size:.875rem;color:#64748b}.device-card .device-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.875rem}.device-card .device-details .detail-item{display:flex;justify-content:space-between}.device-card .device-details .detail-item .label{color:#64748b}.device-card .device-details .detail-item .value{font-weight:500;color:#1e293b}.device-card .remove-btn{background:#ef4444;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:.75rem;cursor:pointer;margin-top:8px}.device-card .remove-btn:hover{background:#eb1515}.consumption-summary{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.consumption-summary .summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 480px){.consumption-summary .summary-grid{grid-template-columns:1fr}}.consumption-summary .summary-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:6px}.consumption-summary .summary-item .label{color:#64748b;font-size:.875rem}.consumption-summary .summary-item .value{font-weight:600;color:#1e293b}.consumption-summary .summary-item .value.savings{color:#10b981}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal .modal-content{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto}.modal .modal-content h3{margin-bottom:20px;text-align:center}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#1e293b}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions button{flex:1;padding:12px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.form-actions button.btn-primary{background:#2563eb;color:#fff}.form-actions button.btn-primary:hover{background:#134cca}.form-actions button.btn-secondary{background:#64748b;color:#fff}.form-actions button.btn-secondary:hover{background:#4f5b6d}.form-actions button:active{transform:translateY(1px)}.text-center{text-align:center}.mb-16{margin-bottom:16px}.mt-16{margin-top:16px}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{content:"";position:absolute;inset:0;background:#fffc;z-index:1}.loader{display:inline-block;width:20px;height:20px;border:3px solid rgba(37,99,235,.3);border-radius:50%;border-top-color:#2563eb;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.graph-container{animation:fadeIn .3s ease-out}.loader-container{display:flex;align-items:center;justify-content:center;padding:20px;color:#64748b;font-size:14px}.language-switcher{position:fixed;top:20px;right:20px;display:flex;gap:8px;z-index:1001}.language-switcher .lang-btn{padding:8px 12px;border:2px solid #2563eb;background:transparent;color:#2563eb;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.language-switcher .lang-btn[data-active=true],.language-switcher .lang-btn:hover{background:#2563eb;color:#fff}.language-switcher .lang-btn:active{transform:translateY(1px)}.region-switcher{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:12px}.region-switcher label{font-weight:600;color:#64748b;font-size:.9rem}.region-switcher .region-select{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:140px}.region-switcher .region-select:hover:not(:disabled){border-color:#2563eb}.region-switcher .region-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.region-switcher .region-select:disabled{opacity:.6;cursor:not-allowed;background:#f1f5f9}@media (max-width: 480px){section{padding:16px}.app-header{padding:16px 0}.app-header h1{font-size:1.75rem}.language-switcher{top:16px;right:16px}.language-switcher .lang-btn{padding:6px 10px;font-size:.875rem}.region-switcher{margin-top:12px;flex-direction:column;gap:8px}.region-switcher label{font-size:.875rem}.region-switcher .region-select{padding:6px 10px;font-size:.875rem;min-width:120px}}
