*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #1C3557;--blue-hover: #152843;--anthracite: #3C4554;--grey: #6B7280;--grey-light: #F9FAFB;--border: #E5E7EB;--white: #FFFFFF;--green: #15803D;--red: #DC2626;--red-bg: #FEF2F2}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--anthracite);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.construction-banner{background:#1c3557;color:#fff;text-align:center;padding:12px 16px;font-size:14px;font-weight:700;letter-spacing:.5px;position:sticky;top:0;z-index:9999}nav{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:100;padding:0 24px}.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;text-decoration:none}.logo img{height:52px;width:auto}.main{flex:1;padding:32px 24px 80px}.container{max-width:900px;margin:0 auto}footer{border-top:1px solid var(--border);padding:24px;text-align:center}footer p{font-size:13px;color:#9ca3af;line-height:1.7}footer a{color:var(--grey);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:7px;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;border:none;transition:background .15s,opacity .15s,border-color .15s;line-height:1}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--blue-hover)}.btn-ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}.btn-ghost:hover{background:#eff6ff}.btn-danger{background:transparent;color:var(--red);border:1.5px solid #FCA5A5;font-size:13px;padding:7px 14px}.btn-danger:hover{background:var(--red-bg)}.btn-lg{padding:13px 26px;font-size:16px}.btn-sm{padding:7px 14px;font-size:13px}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.progress-wrap{position:sticky;top:64px;z-index:99;background:#fff;border-bottom:1.5px solid var(--border);padding:10px 24px}.progress-steps{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:center;max-width:900px;margin:0 auto}.progress-step{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1.5px solid transparent;border-radius:20px;font-family:inherit;font-size:12px;font-weight:500;color:var(--grey);cursor:default;white-space:nowrap;transition:color .15s,background .15s,border-color .15s}.progress-step.done{color:var(--blue);cursor:pointer}.progress-step.done:hover{background:#eff6ff}.progress-step.active{color:var(--blue);font-weight:700;background:#eff6ff;border-color:var(--blue)}.step-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--border);color:var(--grey);flex-shrink:0}.progress-step.done .step-num,.progress-step.active .step-num{background:var(--blue);color:#fff}.step{background:var(--white)}.step-header{margin-bottom:32px;padding-bottom:24px}.step-eyebrow{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue);background:#eff6ff;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:12px}.step-title{font-size:24px;font-weight:800;color:var(--blue);letter-spacing:-.4px;line-height:1.2;margin-bottom:8px}.step-desc{font-size:15px;color:var(--grey);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-bottom:36px}.span-2{grid-column:1 / -1}.form-section{border:1.5px solid var(--border);border-radius:10px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-bottom:24px;background:var(--grey-light)}.form-field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13.5px;font-weight:600;color:var(--anthracite);display:flex;align-items:center;flex-wrap:wrap;gap:2px}.field-label .required{color:var(--red);margin-left:2px}.field-hint{font-size:12px;color:var(--grey);margin-top:-2px}.field-error{font-size:12.5px;color:var(--red);display:flex;align-items:center;gap:4px}.field-tooltip{position:relative;display:inline-flex;align-items:center;margin-left:3px}.field-tooltip-icon{width:17px;height:17px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:default;line-height:1;font-style:normal;flex-shrink:0}.field-tooltip-text{display:none;position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);background:var(--blue);color:#fff;font-size:12px;font-weight:400;line-height:1.5;padding:12px 14px 12px 10px;border-radius:8px;width:300px;white-space:normal;z-index:10;pointer-events:auto;box-shadow:0 4px 12px #00000026}.field-tooltip-text ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:6px}.field-tooltip-text a{color:#93c5fd;text-decoration:underline}.field-tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--blue)}.field-tooltip:hover .field-tooltip-text{display:block}.form-input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:7px;font-family:inherit;font-size:15px;color:var(--anthracite);background:var(--white);outline:none;transition:border-color .15s,background .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-input:focus{border-color:var(--blue);background:#f8faff}.form-input.input-error{border-color:var(--red);background:var(--red-bg)}.form-input.input-readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-input::placeholder{color:#9ca3af}.input-wrapper{position:relative;display:flex;align-items:center}.input-suffix{position:absolute;right:13px;font-size:14px;color:var(--grey);pointer-events:none;font-weight:500}.input-wrapper .form-input{padding-right:36px}select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.radio-inline{display:flex;gap:20px;align-items:center;padding:4px 0}.radio-inline-option{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--anthracite);cursor:pointer}.radio-inline-option input[type=radio]{accent-color:var(--blue);width:15px;height:15px;cursor:pointer;flex-shrink:0}.mobilier-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mobilier-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:#fff;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s,background .15s}.mobilier-card:hover{border-color:var(--blue);background:#f8faff}.mobilier-card.selected{border-color:var(--blue);background:#eff6ff}.mobilier-card.error{border-color:var(--red)}.mobilier-card-emoji{font-size:28px;line-height:1}.mobilier-card-label{font-size:13px;font-weight:700;color:var(--anthracite)}.mobilier-card-rate{font-size:18px;font-weight:800;color:var(--blue)}.mobilier-card-desc{font-size:11px;color:var(--grey);line-height:1.4}.radio-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-card{padding:16px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;font-family:inherit;font-size:15px;font-weight:500;color:var(--anthracite);background:var(--white)}.radio-card:hover{border-color:var(--blue);background:#eff6ff;color:var(--blue)}.radio-card.selected{border-color:var(--blue);background:#eff6ff;color:var(--blue);font-weight:700}.radio-card.error{border-color:var(--red)}.calc-box{background:var(--grey-light);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-size:13.5px;color:var(--grey);line-height:1.6;margin-top:-4px}.calc-box strong{color:var(--anthracite);font-weight:600}.calc-box-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0}.calc-box-note{margin-top:8px;font-size:12px;color:var(--grey);font-style:italic;border-top:1px solid var(--border);padding-top:8px}.step-actions{display:flex;align-items:center;justify-content:space-between;padding-top:32px;gap:12px}.recap-section{margin-bottom:28px}.form-section-title{grid-column:span 2;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--grey);padding-bottom:8px;border-bottom:1px solid var(--border);margin-top:8px;margin-bottom:4px}.recap-section-title{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--grey);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.recap-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;padding:5px 0;gap:12px}.recap-row .recap-label{color:var(--grey)}.recap-row .recap-value{font-weight:600;color:var(--anthracite);text-align:right}.result-box{background:var(--grey-light);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:28px}.result-box .result-row{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;padding:6px 0;gap:12px}.result-box .result-label{color:var(--grey)}.result-box .result-value{font-weight:700;color:var(--anthracite)}.result-box .result-row.total{border-top:1px solid var(--border);margin-top:8px;padding-top:14px}.result-box .result-row.total .result-label{color:var(--anthracite);font-weight:700}.result-box .result-row.total .result-value{font-size:18px;color:var(--blue)}.generate-area{margin-top:8px}.generate-loading{text-align:center;padding:24px;color:var(--grey);font-size:15px}.generate-loading .spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.generate-success{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:10px;padding:24px;text-align:center}.generate-success h3{font-size:18px;font-weight:800;color:var(--green);margin-bottom:8px}.generate-success p{font-size:14px;color:var(--grey);margin-bottom:16px}.btn-download{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 24px;border-radius:7px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s}.btn-download:hover{opacity:.9}.generate-error{background:var(--red-bg);border:1px solid #FCA5A5;border-radius:10px;padding:20px 24px;text-align:center;color:var(--red);font-size:14px}.generate-error p{margin-bottom:12px}.payment-box{border:2px solid var(--blue);border-radius:12px;padding:24px;margin-bottom:8px}.payment-box-header{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}.payment-price{font-size:36px;font-weight:800;color:var(--blue);line-height:1}.payment-price span{font-size:18px;font-weight:600}.payment-label{font-size:14px;color:var(--grey);line-height:1.5}.payment-features{list-style:none;padding:0;margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.payment-features li{font-size:14px;color:var(--anthracite);font-weight:500}.payment-note{font-size:12px;color:var(--grey);text-align:center;margin-top:12px;line-height:1.5}.payment-badges{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.optin-row{margin-top:4px;margin-bottom:4px}.optin-label{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--grey);line-height:1.5;cursor:pointer}.optin-checkbox{margin-top:2px;flex-shrink:0;accent-color:var(--blue);width:16px;height:16px;cursor:pointer}.notice{background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;padding:12px 16px;font-size:13.5px;color:var(--blue);line-height:1.6;margin-bottom:20px}@media (max-width: 640px){.main{padding:32px 16px 64px}.form-grid,.form-section{grid-template-columns:1fr}.span-2{grid-column:1}.radio-group{grid-template-columns:1fr}.step-actions{flex-direction:column-reverse}.step-actions .btn{width:100%}.progress-step .step-name{display:none}}
