@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Lora:wght@500;700&display=swap");@tailwind base;@tailwind components;@tailwind utilities;:root{--font-serif:"Lora",serif;--font-sans:"Lato",sans-serif;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-light:#6366f1;--color-primary-bg:#eef2ff;--color-success:#10b981;--color-success-dark:#059669;--color-success-bg:#ecfdf5;--color-success-border:#bbf7d0;--color-danger:#f43f5e;--color-danger-dark:#be123c;--color-danger-bg:#fff1f2;--color-text-heading:#1e293b;--color-text-body:#334155;--color-text-subtle:#475569;--color-text-muted:#94a3b8;--color-bg-light:#f8fafc;--color-bg-white:#ffffff;--color-border:#e2e8f0}body{font-family:var(--font-sans);background-color:var(--color-bg-light);color:var(--color-text-body)}.features-title,.question-text,.stepper .label,.welcome-title,h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-text-heading)}.app-container{max-width:1200px;margin:2.5rem auto;background-color:var(--color-bg-white);border-radius:.75rem;border:1px solid var(--color-border);box-shadow:0 10px 25px -5px rgba(0,0,0,.05),0 8px 10px -6px rgba(0,0,0,.05);padding:2rem}@media (min-width:768px){.app-container{padding:3rem}}.welcome-screen{text-align:center;max-width:800px;margin:3rem auto;padding:2rem}.welcome-text{margin-bottom:3rem}.welcome-title{font-size:2.5rem;line-height:1.2;margin-bottom:1rem;text-align:center}.welcome-subtitle{font-size:1.125rem;color:var(--color-text-subtle);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.start-button{display:inline-flex;align-items:center;gap:.75rem;background-image:linear-gradient(to right,var(--color-primary) 0,var(--color-primary-light) 100%);color:var(--color-bg-white);padding:1rem 2rem;border-radius:.5rem;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px -3px rgba(79,70,229,.4);border:none;font-size:1rem;cursor:pointer;margin:0 auto}.start-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px -5px rgba(79,70,229,.3)}.start-button:disabled{background-image:none;background-color:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.start-icon{width:1.5rem;height:1.5rem}.welcome-features{text-align:left;margin-top:3rem;background-color:var(--color-bg-light);padding:2rem;border-radius:.5rem;border:1px solid var(--color-border)}.features-title{font-size:1.25rem;margin-bottom:1.5rem;text-align:center}.features-list{list-style:none;padding:0;margin:0}.features-list li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.feature-icon{width:1.5rem;height:1.5rem;color:var(--color-primary);flex-shrink:0;margin-top:2px}.stepper{display:flex;list-style:none;margin-bottom:3rem;border-bottom:1px solid var(--color-border);padding:0 0 1.5rem}.step{flex:1 1;text-align:center;color:var(--color-text-muted);font-size:.8rem;position:relative;cursor:pointer}.step:not(:last-child):after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background-color:var(--color-border);z-index:1;transition:all .3s}.step .dot{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:#f1f5f9;border:2px solid var(--color-border);z-index:2;position:relative;transition:all .3s;margin:0 auto}.step .dot .icon{width:1rem;height:1rem;color:var(--color-text-muted)}.step .label{display:block;margin-top:.75rem;font-weight:500}.step.active .dot{background-color:var(--color-primary-bg);border-color:var(--color-primary)}.step.active .dot .icon{color:var(--color-primary)}.step.active .label{color:var(--color-primary-dark);font-weight:700}.step.completed .dot{background-color:var(--color-success-bg);border-color:var(--color-success)}.step.completed .dot .icon,.step.completed .label{color:var(--color-success-dark)}.step.completed .label{font-weight:700}.step.completed:not(:last-child):after{background-color:var(--color-success)}.content-wrapper{max-width:1400px;margin:0 auto;padding:0 1rem}.layout-wrapper{display:flex;flex-direction:column;gap:2rem;min-height:60vh}@media (min-width:768px){.layout-wrapper{flex-direction:row;gap:3rem}}.layout-main{width:100%;flex:1 1}.layout-sidebar{width:100%}@media (min-width:768px){.layout-main{width:65%;flex:0 0 65%}.layout-sidebar{width:35%;flex:0 0 35%}}.question-text{font-size:1.25rem;line-height:1.4;margin-bottom:.75rem;font-weight:600}.question-ref{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.question-explanation{font-size:.9rem;color:var(--color-text-subtle);background-color:var(--color-bg-light);padding:1.25rem;border-radius:.5rem;border-left:4px solid #a5b4fc;line-height:1.6}.answer-options{margin-bottom:1.5rem}.answer-options label.checkbox-label,.answer-options label.radio-label{margin-right:1rem;margin-bottom:.75rem;cursor:pointer;display:inline-flex;align-items:center;padding:.75rem 1.25rem;border:1px solid #d1d5db;border-radius:.5rem;transition:all .2s ease-in-out;background-color:var(--color-bg-white);font-size:.9rem}.answer-options input[type=checkbox],.answer-options input[type=radio]{margin-right:.75rem;accent-color:var(--color-primary-dark);height:1.25rem;width:1.25rem}.answer-options label:hover{background-color:#f4f4f5;border-color:#a1a1aa}.answer-options label[data-checked=true]{background-color:var(--color-primary-bg);border-color:var(--color-primary-dark)}.answer-options input[type=checkbox]:checked+span,.answer-options input[type=radio]:checked+span{font-weight:700;color:var(--color-primary-dark)}#export-contact-section input,.answer-options select,.notes-area textarea{width:100%;padding:.875rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.9rem;margin-top:.5rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.05);transition:all .2s}#export-contact-section input:focus,.answer-options select:focus,.notes-area textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(79,70,229,.2)}.navigation-buttons{margin-top:1.5rem;display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--color-border);padding-top:1.5rem;max-width:400px;margin-left:auto;margin-right:auto}.navigation-buttons button{background-image:linear-gradient(to right,var(--color-primary) 0,var(--color-primary-light) 100%);color:var(--color-bg-white);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:700;font-family:var(--font-sans);transition:all .3s ease;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);border:none;cursor:pointer}.navigation-buttons button:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.navigation-buttons button:disabled{background-image:none;background-color:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.results-section h3{font-size:1.5rem;margin-bottom:1rem}.potential-failure-item{background-color:var(--color-danger-bg);border-left:4px solid var(--color-danger);padding:1.25rem;margin-bottom:1rem;border-radius:.5rem}.potential-failure-item strong{color:var(--color-danger-dark)}.chart-container{position:relative;width:100%;max-width:700px;margin:2rem auto;height:350px;padding:1rem;background-color:var(--color-bg-white);border-radius:.5rem}.export-contact-form{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);padding:2rem;border-radius:.75rem;margin-top:2.5rem}.export-contact-form button{width:100%}.btn-finish,.export-contact-form button{background-image:linear-gradient(90deg,#15803d 0,#16a34a)}.btn-finish:hover{box-shadow:0 10px 15px -3px rgba(21,128,61,.3),0 4px 6px -4px rgba(21,128,61,.3)}.btn-back{background-image:linear-gradient(90deg,#64748b 0,#475569);color:var(--color-bg-white);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-family:var(--font-sans);transition:all .3s ease;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.btn-back:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(100,116,139,.3),0 4px 6px -4px rgba(100,116,139,.3)}