*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f4f8;--surface:#fff;--surface-alt:#f7f9fc;--surface-elevated:#eef2f7;--border:#dde3ec;--border-light:#c9d1dc;--text:#1a2332;--text-secondary:#4a5568;--text-muted:#7b8794;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:rgba(37,99,235,.08);--accent-glow:rgba(37,99,235,.12);--red:#ef4444;--red-soft:rgba(239,68,68,.08);--green:#16a34a;--blue:#3b82f6;--navbar-bg:hsla(0,0%,100%,.85);--btn-primary-text:#fff;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.06);--shadow-lg:0 12px 40px rgba(0,0,0,.1);--radius:14px;--radius-sm:10px;--radius-xs:6px;--transition:.2s ease;--transition-slow:.3s ease}[data-theme=dark]{--bg:#0a0c10;--surface:#13151a;--surface-alt:#1a1d24;--surface-elevated:#1e2128;--border:#262a33;--border-light:#2e3340;--text:#eaedf3;--text-secondary:#b0b8c9;--text-muted:#6b7489;--accent:#3ecf8e;--accent-hover:#36b87d;--accent-soft:rgba(62,207,142,.1);--accent-glow:rgba(62,207,142,.15);--red:#f87171;--red-soft:hsla(0,91%,71%,.1);--green:#22c55e;--blue:#60a5fa;--navbar-bg:rgba(19,21,26,.85);--btn-primary-text:#000;--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.3);--shadow-lg:0 12px 40px rgba(0,0,0,.5)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;scroll-behavior:smooth;width:100%}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease}.app-wrapper,body{min-height:100vh;overflow-x:hidden;width:100%}.app-wrapper{display:flex;flex-direction:column}.navbar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--navbar-bg);border-bottom:1px solid var(--border);height:64px;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100}.navbar,.navbar__brand{align-items:center;display:flex}.navbar__brand{color:var(--text);gap:12px;text-decoration:none}.navbar__logo{height:36px;width:auto}.navbar__name{font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.navbar__name span{color:var(--accent)}.navbar__actions{gap:10px}.navbar__actions,.navbar__link{align-items:center;display:flex}.navbar__link{border-radius:var(--radius-xs);color:var(--text-muted);font-size:13px;font-weight:500;gap:6px;padding:8px 14px;text-decoration:none;transition:all var(--transition)}.navbar__link:hover{background:var(--surface-alt);color:var(--text)}.navbar__link svg{height:14px;opacity:.7;width:14px}.navbar__theme-btn{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition);width:36px}.navbar__theme-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.navbar__theme-btn svg{height:18px;width:18px}@media(max-width:640px){.navbar{gap:6px;height:52px;padding:0 10px}.navbar__logo{height:26px}.navbar__brand{gap:8px;min-width:0}.navbar__name{font-size:11px}.navbar__actions{flex-shrink:0;gap:4px}.navbar__link{display:none}.navbar__theme-btn{height:32px;width:32px}.navbar__theme-btn svg{height:16px;width:16px}.btn{font-size:12px;gap:5px;padding:7px 12px}.btn svg{height:14px;width:14px}}.main-content{box-sizing:border-box;flex:1;margin:0 auto;max-width:1320px;padding:40px 24px 80px;width:100%}@media(max-width:640px){.main-content{padding:24px 16px 64px}}.hero{margin-bottom:48px;text-align:center}.hero__badge{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:999px;color:var(--accent);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.08em;margin-bottom:20px;padding:6px 16px;text-transform:uppercase}.hero__title{background:linear-gradient(135deg,var(--text),var(--text-secondary));-webkit-background-clip:text;font-size:36px;font-weight:800;letter-spacing:-.035em;margin-bottom:12px;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{color:var(--text-muted);font-size:15px;line-height:1.7;margin:0 auto;max-width:500px}@media(max-width:640px){.hero{margin-bottom:32px}.hero__title{font-size:26px}.hero__subtitle{font-size:14px}}.simulator-grid{align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media(max-width:1024px){.simulator-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition)}.card+.card{margin-top:20px}.card__header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.card__title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.card__body{padding:20px}@media(max-width:640px){.card__header{padding:14px 16px}.card__body{padding:16px}}.section-label{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.form-row:last-child{margin-bottom:0}.form-row--single{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{color:var(--text-muted);font-size:12px;font-weight:500}.form-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:hover{border-color:var(--border-light)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::-moz-placeholder{color:var(--text-muted);opacity:.5}.form-input::placeholder{color:var(--text-muted);opacity:.5}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' viewBox='0 0 10 6'%3E%3Cpath stroke='%236b7489' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.toggle-row{align-items:center;background:var(--surface-alt);border-radius:var(--radius-sm);display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 14px}.toggle-label{color:var(--text-secondary);font-size:13px;line-height:1.4}.toggle{flex-shrink:0;height:24px;position:relative;width:44px}.toggle input{height:0;opacity:0;width:0}.toggle__slider{background:var(--border);border-radius:999px;cursor:pointer;inset:0}.toggle__slider,.toggle__slider:before{position:absolute;transition:var(--transition)}.toggle__slider:before{background:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}.toggle input:checked+.toggle__slider{background:var(--accent)}.toggle input:checked+.toggle__slider:before{transform:translate(20px)}.travaux-row{align-items:end;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.travaux-row--single{grid-template-columns:1fr}.travaux-divider{background:var(--border);height:1px;margin:6px 0 12px}@media(max-width:480px){.travaux-row{gap:8px;grid-template-columns:1fr}}.results-column{position:sticky;top:88px}@media(max-width:1024px){.results-column{position:static}}.result-grid{background:var(--border);border-radius:var(--radius-sm);display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-bottom:16px;overflow:hidden}.result-cell{background:var(--surface-alt);padding:16px 18px}.result-cell--full{background:var(--surface-elevated);grid-column:1/-1}.result-cell__label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.result-cell__value{font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1.2}.result-cell__value--accent{color:var(--accent)}.result-cell__value--red{color:var(--red)}.result-cell__value--blue{color:var(--blue)}.benefit-card{align-items:center;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:16px;padding:18px 20px}.benefit-card--positive{background:var(--accent-soft);border:1px solid var(--accent-glow)}.benefit-card--negative{background:var(--red-soft);border:1px solid var(--red-soft)}.benefit-card__label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.benefit-card__value{font-size:26px;font-variant-numeric:tabular-nums;font-weight:800}.summary-grid{background:var(--border);border-radius:var(--radius-sm);display:grid;gap:1px;grid-template-columns:1fr 1fr 1fr;overflow:hidden}.summary-cell{background:var(--surface-alt);padding:14px 16px;text-align:center}.summary-cell__label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.summary-cell__value{font-size:14px;font-weight:600}@media(max-width:480px){.summary-grid{grid-template-columns:1fr}}.detail-list{background:var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:1px;overflow:hidden}.detail-item{align-items:center;background:var(--surface-alt);display:flex;font-size:13px;justify-content:space-between;padding:11px 16px}.detail-item__label{color:var(--text-muted);font-weight:500}.detail-item__value{font-variant-numeric:tabular-nums;font-weight:600}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all var(--transition);white-space:nowrap}.btn svg{flex-shrink:0;height:16px;width:16px}.btn--primary{background:var(--accent);box-shadow:0 2px 8px var(--accent-glow);color:var(--btn-primary-text)}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--outline{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn--outline:hover{background:var(--surface-alt);border-color:var(--border-light);color:var(--text)}.footer{border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:24px;text-align:center}.footer a{color:var(--accent);font-weight:500;text-decoration:none}.footer a:hover{text-decoration:underline}.type-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.type-toggle__btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:10px 16px;position:relative;transition:all var(--transition)}.type-toggle__btn--active{background:var(--accent);color:var(--btn-primary-text)}.pdf-container{left:-9999px;pointer-events:none;position:fixed;top:0;width:794px;z-index:-1}.pdf-page{background:#fff;color:#1a1a2e;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;line-height:1.5;min-height:1123px;padding:40px;width:794px}.pdf-header{border-bottom:3px solid #3ecf8e;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.pdf-header,.pdf-header__brand{align-items:center;display:flex}.pdf-header__brand{gap:12px}.pdf-header__name{color:#1a1a2e;font-size:18px;font-weight:800}.pdf-header__right{color:#6b7489;font-size:11px;text-align:right}.pdf-title{margin-bottom:28px;text-align:center}.pdf-title h1{color:#1a1a2e;font-size:22px;font-weight:800;margin-bottom:4px}.pdf-title p{color:#6b7489;font-size:12px}.pdf-section{margin-bottom:22px;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.pdf-section__title{border-bottom:1px solid #e5e7eb;color:#6b7489;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.pdf-info-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr;margin-bottom:8px}.pdf-info-cell{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;text-align:center}.pdf-info-cell__label{color:#9ca3af;font-size:9px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.pdf-info-cell__value{color:#1a1a2e;font-size:14px;font-weight:700}.pdf-result-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.pdf-result-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px}.pdf-result-card--full{grid-column:1/-1}.pdf-result-card--accent{background:#ecfdf5;border-color:#a7f3d0}.pdf-result-card--highlight{background:#ecfdf5;border-color:#3ecf8e;border-width:2px}.pdf-result-card--red{background:#fef2f2;border-color:#fecaca}.pdf-result-card__label{color:#9ca3af;font-size:9px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.pdf-result-card__value{color:#1a1a2e;font-size:20px;font-weight:800}.pdf-result-card--accent .pdf-result-card__value,.pdf-result-card--highlight .pdf-result-card__value{color:#059669}.pdf-result-card--red .pdf-result-card__value{color:#dc2626}.pdf-table{border:1px solid #e5e7eb;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.pdf-table th{background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#6b7489;font-size:10px;font-weight:700;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase}.pdf-table th:last-child{text-align:right}.pdf-table td{border-bottom:1px solid #f3f4f6;font-size:13px;padding:10px 14px}.pdf-table td:last-child{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.pdf-table tr:last-child td{border-bottom:none}.pdf-table .pdf-table__total td{background:#f9fafb;border-top:2px solid #e5e7eb;font-weight:700}.pdf-footer{border-top:1px solid #e5e7eb;color:#9ca3af;display:flex;font-size:10px;justify-content:space-between;margin-top:30px;padding-top:16px}.pdf-footer a{color:#059669;font-weight:600;text-decoration:none}.type-toggle__btn:not(.type-toggle__btn--active):hover{background:var(--surface-alt);color:var(--text)}@media(max-width:640px){.main-content{padding:20px 16px 40px}.hero__title{font-size:24px}.form-row,.result-grid,.summary-grid,.travaux-row{grid-template-columns:1fr}.result-cell__value{font-size:16px}}
