@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Instrument+Sans:wght@400;500;600;700&display=swap";:root{--bg-primary: #0a0a0b;--bg-secondary: #111113;--bg-card: #161618;--bg-input: #1c1c1f;--border: #2a2a2e;--border-focus: #f5a623;--text-primary: #e8e8ea;--text-secondary: #8a8a8f;--text-muted: #5a5a5f;--accent: #f5a623;--accent-glow: rgba(245, 166, 35, .15);--accent-dim: #c4841c;--green: #34d399;--green-glow: rgba(52, 211, 153, .12);--red: #cc3333;--grid-line: rgba(245, 166, 35, .03);--glow: rgba(245, 166, 35, .06);--chart-grid: rgba(255, 255, 255, .06);--chart-tick: #5a5a5f;--chart-stroke: #2a2a2e;--shadow: rgba(0, 0, 0, .4)}@media(prefers-color-scheme:light){:root{--bg-primary: #f5f5f7;--bg-secondary: #eeeef0;--bg-card: #ffffff;--bg-input: #f0f0f2;--border: #d8d8dc;--border-focus: #d4910e;--text-primary: #1a1a1c;--text-secondary: #6a6a6f;--text-muted: #9a9a9f;--accent: #d4910e;--accent-glow: rgba(212, 145, 14, .12);--accent-dim: #b87b0a;--green: #059669;--green-glow: rgba(5, 150, 105, .1);--red: #dc2626;--grid-line: rgba(212, 145, 14, .06);--glow: rgba(212, 145, 14, .08);--chart-grid: rgba(0, 0, 0, .06);--chart-tick: #9a9a9f;--chart-stroke: #d8d8dc;--shadow: rgba(0, 0, 0, .1)}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Instrument Sans,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 2rem;position:relative}#root:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}#root:after{content:"";position:fixed;top:-20%;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(ellipse,var(--glow) 0%,transparent 70%);pointer-events:none}.calculator{width:100%;max-width:720px;position:relative;z-index:1;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.header{margin-bottom:2.5rem}.header-badge{display:inline-flex;align-items:center;gap:6px;font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(245,166,35,.2);padding:5px 12px;border-radius:100px;margin-bottom:1rem}.header-badge .bolt{font-size:.85rem}.header h1{font-family:Instrument Sans,sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1.2}.header p{font-size:.9rem;color:var(--text-secondary);margin-top:.4rem;line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.75rem;margin-bottom:1.25rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-group{display:flex;flex-direction:column;gap:6px}.input-group.full-width{grid-column:1 / -1}.input-group+.input-group{margin-top:0}.input-row+.input-group,.input-group+.input-row{margin-top:1rem}.input-label{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.input-label-row{display:flex;justify-content:space-between;align-items:center}.unit-toggle{display:flex;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:2px;cursor:pointer;gap:1px}.unit-option{font-family:DM Mono,monospace;font-size:.55rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding:2px 6px;border-radius:4px;transition:all .2s;-webkit-user-select:none;user-select:none}.unit-option.active{background:var(--accent);color:var(--bg-primary);font-weight:500}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:12px 52px 12px 14px;font-family:DM Mono,monospace;font-size:1.05rem;font-weight:500;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s;-moz-appearance:textfield}.input-wrapper input::-webkit-outer-spin-button,.input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-wrapper input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.input-unit{position:absolute;right:14px;font-family:DM Mono,monospace;font-size:.75rem;font-weight:300;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.slider-container{margin-top:1rem}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slider-label{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.slider-value{font-family:DM Mono,monospace;font-size:.85rem;font-weight:500;color:var(--accent)}.slider-track{position:relative;width:100%;height:6px;background:var(--bg-input);border-radius:3px;cursor:pointer}.slider-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:3px;transition:width .1s ease-out}.slider-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:var(--accent);border:3px solid var(--bg-card);border-radius:50%;cursor:grab;box-shadow:0 0 12px #f5a6234d;transition:box-shadow .2s}.slider-thumb:hover{box-shadow:0 0 20px #f5a62380}.slider-thumb:active{cursor:grabbing}.slider-marks{display:flex;justify-content:space-between;margin-top:8px;font-family:DM Mono,monospace;font-size:.6rem;color:var(--text-muted)}.result-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.result-top .result-header{margin-bottom:0}.period-toggle{display:flex;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:3px;cursor:pointer;gap:2px}.period-option{font-family:DM Mono,monospace;font-size:.65rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px;border-radius:6px;transition:all .2s;-webkit-user-select:none;user-select:none}.period-option.active{background:var(--accent);color:var(--bg-primary);font-weight:500}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.75rem;position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.result-header{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.75rem}.result-total{display:flex;align-items:baseline;gap:8px}.result-total .amount{font-family:Instrument Sans,sans-serif;font-size:2.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1}.result-total .currency{font-family:DM Mono,monospace;font-size:1.1rem;font-weight:400;color:var(--text-secondary)}.result-total .period{font-family:DM Mono,monospace;font-size:.75rem;font-weight:300;color:var(--text-muted)}.result-breakdown{display:flex;gap:1.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.breakdown-item{display:flex;flex-direction:column;gap:2px}.breakdown-label{font-family:DM Mono,monospace;font-size:.65rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.breakdown-value{font-family:DM Mono,monospace;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.compare-section{margin-top:1.25rem}.compare-toggle{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--border);border-radius:10px;padding:10px 16px;width:100%;font-family:DM Mono,monospace;font-size:.75rem;font-weight:400;letter-spacing:.04em;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.compare-toggle:hover{border-color:var(--text-muted);color:var(--text-primary)}.compare-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.compare-toggle .icon{font-size:.9rem}.compare-card{margin-top:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.compare-result{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.compare-diff{display:flex;justify-content:space-between;align-items:center}.diff-label{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.diff-value{font-family:DM Mono,monospace;font-size:1rem;font-weight:500}.diff-value.savings{color:var(--green)}.diff-value.more{color:var(--red)}.footer{margin-top:2rem;text-align:center;font-family:DM Mono,monospace;font-size:.65rem;color:var(--text-muted);letter-spacing:.04em}.tab-switcher{display:flex;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:3px;margin-bottom:1.5rem;gap:2px}.tab-btn{flex:1;font-family:DM Mono,monospace;font-size:.72rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:8px 12px;border:none;border-radius:8px;background:none;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{background:var(--accent);color:var(--bg-primary);font-weight:500}.tarif-chart-view{animation:slideDown .3s ease-out}.tarif-table-card{padding:1.25rem}.tarif-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tarif-table-title{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.tarif-add-btn{font-family:DM Mono,monospace;font-size:.65rem;font-weight:400;letter-spacing:.04em;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(245,166,35,.25);border-radius:6px;padding:4px 10px;cursor:pointer;transition:all .2s}.tarif-add-btn:hover{background:#f5a62333}.tarif-table{display:flex;flex-direction:column;gap:0}.tarif-table-head{display:grid;grid-template-columns:28px 1fr 1fr 1fr .8fr 28px;gap:8px;padding:0 4px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.tarif-table-head span{font-family:DM Mono,monospace;font-size:.55rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tarif-row{display:grid;grid-template-columns:28px 1fr 1fr 1fr .8fr 28px;gap:8px;padding:6px 4px;align-items:center;border-radius:8px;transition:opacity .2s}.tarif-row.inactive{opacity:.4}.tarif-checkbox{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.tarif-checkbox.checked{border-color:var(--accent);background:var(--accent)}.check-mark{color:var(--bg-primary);font-size:11px;font-weight:700;line-height:1}.tarif-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-family:DM Mono,monospace;font-size:.8rem;font-weight:400;color:var(--text-primary);outline:none;transition:border-color .2s;-moz-appearance:textfield}.tarif-input:focus{border-color:var(--border-focus)}.tarif-input-name{font-family:Instrument Sans,sans-serif;font-weight:500}.tarif-input-wrap{position:relative;display:flex;align-items:center}.tarif-input-wrap .tarif-input{padding-right:48px}.tarif-input-unit{position:absolute;right:8px;font-family:DM Mono,monospace;font-size:.6rem;font-weight:300;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.tarif-name-row{display:flex;gap:4px;align-items:center}.tarif-name-row .tarif-input{flex:1;min-width:0}.tarif-baseline-btn{font-family:DM Mono,monospace;font-size:.5rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:4px;padding:3px 6px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.tarif-baseline-btn:hover{color:var(--text-secondary);border-color:var(--text-muted)}.tarif-baseline-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.tarif-del-btn{width:24px;height:24px;border:none;background:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.tarif-del-btn:hover{color:var(--red, #cc3333);background:#cc33331a}.chart-card{padding:1.5rem}.chart-header{margin-bottom:1rem}.chart-title{font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);display:block}.chart-subtitle{font-family:DM Mono,monospace;font-size:.6rem;font-weight:300;color:var(--text-muted);display:block;margin-top:2px}.chart-container{margin:0 -.5rem}.chart-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:0 8px 32px var(--shadow)}.chart-tooltip-label{font-family:DM Mono,monospace;font-size:.65rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.chart-tooltip-item{display:flex;align-items:center;gap:6px;padding:2px 0}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-name{font-family:Instrument Sans,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-primary);flex:1}.chart-tooltip-values{display:flex;flex-direction:column;align-items:flex-end;margin-left:12px;font-family:DM Mono,monospace;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.chart-tooltip-yearly{font-size:.65rem;font-weight:400;color:var(--text-muted)}.chart-tooltip-diff{font-size:.65rem;font-weight:500}.chart-tooltip-diff.savings{color:var(--green)}.chart-tooltip-diff.more{color:var(--red)}.chart-tooltip-baseline-tag{font-family:DM Mono,monospace;font-size:.5rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(245,166,35,.25);border-radius:3px;padding:1px 4px;margin-left:6px}.chart-tooltip-item.is-baseline{opacity:.7}@media(max-width:480px){.input-row{grid-template-columns:1fr}.header h1{font-size:1.5rem}.result-total .amount{font-size:2.25rem}.result-breakdown{flex-direction:column;gap:.75rem}.card,.result-card{padding:1.25rem}.tarif-table-head{display:none}.tarif-row{grid-template-columns:28px 1fr 28px;gap:6px}.tarif-col-gp,.tarif-col-ap{grid-column:2}}
