*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background-color:#2c3e50;color:#fff;padding:30px 20px;text-align:center;margin-bottom:30px;border-radius:8px}.header h1{font-size:28px;margin-bottom:10px}.header p{font-size:14px;opacity:.9}.header .disclaimer{font-size:12px;opacity:.85;line-height:1.6;max-width:600px;margin:10px auto 0}.header-description{max-width:700px;margin:15px auto 0;text-align:center}.header-description .main-description{font-size:16px;font-weight:500;line-height:1.6;margin-bottom:8px}.header-description .sub-description{font-size:14px;opacity:.9;line-height:1.5;margin-bottom:12px}.header-description .note{font-size:12px;opacity:.75;line-height:1.5}.form-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.period-group{margin-bottom:30px;padding:20px;border:2px solid #e0e0e0;border-radius:12px;background-color:#fafafa}.period-header{margin-bottom:20px}.period-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.period-group .question-item{background:#fff;padding:20px;border-radius:8px;margin-bottom:15px;border:1px solid #e8e8e8}.period-group .question-item:last-child{margin-bottom:0}.question-item{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.question-item:last-child{border-bottom:none}.question-label{display:block;font-weight:600;margin-bottom:12px;color:#333;font-size:16px}.question-number{display:inline-block;background-color:#3498db;color:#fff;padding:2px 8px;border-radius:4px;margin-right:8px;font-size:14px}.radio-group,.checkbox-group{display:flex;gap:20px;margin-top:10px}.radio-label,.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:15px}.radio-label input,.checkbox-label input{margin-right:8px;width:18px;height:18px;cursor:pointer}.input-group{display:flex;align-items:center;gap:10px;margin-top:10px}.input-field{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:15px;width:150px}.input-field:focus{outline:none;border-color:#3498db}.input-suffix{color:#666;font-size:15px}.follow-up{margin-left:30px;margin-top:15px;padding:15px;background-color:#f8f9fa;border-left:3px solid #3498db;border-radius:4px}.button-container{text-align:center;margin:30px 0}.calculate-button{background-color:#27ae60;color:#fff;padding:15px 40px;font-size:18px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s}.calculate-button:hover{background-color:#229954}.calculate-button:disabled{background-color:#95a5a6;cursor:not-allowed}.result-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:30px}.result-title{font-size:24px;font-weight:700;color:#2c3e50;margin-bottom:20px;text-align:center}.result-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:8px;text-align:center;margin-bottom:30px}.result-summary h3{font-size:18px;margin-bottom:15px;opacity:.95}.result-amount{font-size:36px;font-weight:700;margin:10px 0}.result-range{font-size:16px;opacity:.9}.breakdown-section{margin-top:30px}.breakdown-title{font-size:20px;font-weight:600;color:#2c3e50;margin-bottom:15px}.breakdown-item{display:flex;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:15px}.breakdown-item:nth-child(2n){background-color:#f8f9fa}.breakdown-category{font-weight:500;color:#555}.breakdown-amount{font-weight:600;color:#27ae60}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.error{background-color:#fee;color:#c00;padding:15px;border-radius:4px;margin:20px 0;text-align:center}@media (max-width: 768px){.container{padding:10px}.header h1{font-size:22px}.form-container{padding:20px}.radio-group,.checkbox-group{flex-direction:column;gap:10px}.result-amount{font-size:28px}}
