:root{--primary-color:#005a9c;--secondary-color:#f0f6fc;--text-color:#333;--border-color:#d1d5db;--background-color:#fff;--success-color:#28a745;--error-color:#dc3545;--font-family:"Noto Sans KR",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--secondary-color);color:var(--text-color);justify-content:center;padding:1rem;line-height:1.6;display:flex}#root{width:100%;max-width:800px;margin:0 auto}.container{background-color:var(--background-color);border-radius:8px;padding:2rem;box-shadow:0 4px 6px #0000001a}.top-header{border-bottom:2px solid #adb5bd;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.top-header nav{align-items:center;display:flex}.logo-image{height:40px}.nav-link{color:var(--primary-color);border-radius:4px;padding:.5rem 1rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:background-color .2s}.nav-link:hover{background-color:var(--secondary-color);text-decoration:none}.nav-separator{color:#adb5bd;font-size:1rem;font-weight:700}.page-title-section{text-align:center;border-bottom:1px solid var(--primary-color);margin-bottom:2rem;padding-bottom:1.5rem}.page-title-section h1{color:var(--primary-color);margin-bottom:.5rem;font-size:2.2rem;font-weight:700}.page-title-section p{color:#666;font-size:1rem}.year-selector-container{justify-content:center;margin-bottom:1rem;display:flex}.year-selector-container .radio-group-box{background-color:#0000;border:none;padding:0}.median-income-table-container{margin-bottom:2.5rem;overflow-x:auto}.median-income-table-title{color:var(--primary-color);text-align:left;margin-bottom:.5rem;font-size:1rem;font-weight:500}.median-income-table{border-collapse:collapse;text-align:center;width:100%;font-size:.9rem}.median-income-table th,.median-income-table td{border:1px solid var(--border-color);white-space:nowrap;padding:.6rem .4rem}.median-income-table thead th{background-color:#f1f5f9;font-weight:500}.median-income-table tbody td:first-child{background-color:#f8f9fa;font-weight:700}.median-income-table .bold-cell{font-weight:700}.step-indicator{justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem;display:flex;position:relative}.step-indicator:before{content:"";background-color:var(--border-color);z-index:0;height:2px;position:absolute;top:18px;left:15%;right:15%}.step-item{text-align:center;color:#a0aec0;z-index:1;background-color:var(--background-color);flex-direction:column;flex:1;align-items:center;padding:0 .5rem;display:flex;position:relative}.step-number{border:2px solid var(--border-color);background-color:var(--background-color);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;transition:all .3s;display:flex}.step-title{margin-top:.5rem;font-size:.9rem;font-weight:500;transition:color .3s}.step-item.active .step-number{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.step-item.active .step-title{color:var(--primary-color)}.step-content{animation:.5s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}}.form-group{flex-direction:column;display:flex}.form-group label{margin-bottom:.5rem;font-size:1rem;font-weight:500}.flex-label{align-items:center;gap:.5rem;display:flex}.form-group .description{color:#666;min-height:2.4em;margin-bottom:.5rem;font-size:.8rem}.form-group input,.form-group select{border:1px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-family);color:#000;background-color:#fff;border-radius:4px;padding:.75rem;transition:border-color .2s,box-shadow .2s}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #005a9c33}.input-wrapper{position:relative}.input-wrapper>input{padding-right:4.5rem}.unit-toggle{color:#008a00;font-size:1rem;font-family:var(--font-family);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;transition:background-color .2s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.unit-toggle:hover{background-color:#f0f6fc}.calculate-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:1rem;font-size:1.2rem;font-weight:700;transition:background-color .3s}.calculate-btn:hover{background-color:#047}.income-section{border:1px solid var(--border-color);background-color:#f8f9fa;border-radius:4px;flex-direction:column;grid-column:1/-1;gap:1.5rem;padding:1.5rem;display:flex}.income-section h4{margin-bottom:-.5rem;font-size:1.2rem;font-weight:500}.income-category{border-top:1px solid var(--border-color);padding-top:1.5rem}.income-category:first-of-type{border-top:none;padding-top:0}.income-category h5{margin-bottom:0;font-size:1.1rem;font-weight:500}.income-category .description{min-height:auto;margin-bottom:1rem}.income-title-wrapper{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tooltip-icon{color:#fff;cursor:help;-webkit-user-select:none;user-select:none;background-color:#a0aec0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.tooltip-icon .tooltip-text{visibility:hidden;color:#fff;text-align:left;z-index:10;opacity:0;background-color:#2d3748;border-radius:6px;width:250px;margin-left:-125px;padding:10px;font-size:.85rem;font-weight:400;line-height:1.5;transition:opacity .3s;position:absolute;bottom:150%;left:50%;box-shadow:0 2px 4px #0003}.tooltip-icon .tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#2d3748;margin-left:-5px;position:absolute;top:100%;left:50%}.tooltip-icon:hover .tooltip-text{visibility:visible;opacity:1}.income-section .description{min-height:auto;margin-bottom:.5rem}.income-entry{grid-template-columns:1fr;align-items:flex-end;gap:1rem;display:grid}@media (min-width:768px){.income-entry{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.income-entry{grid-template-columns:1fr 1fr 1fr}}.income-entry .form-group{margin-bottom:0}.income-entry .form-group label{font-size:.9rem}.income-entry-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;margin-top:1.5rem;padding:1.5rem 1rem 1rem;position:relative}.income-entry-item:first-of-type{margin-top:0}.income-item-title{color:var(--text-color);background:#f8f9fa;padding:0 .5rem;font-size:.9rem;font-weight:500;position:absolute;top:-.8em;left:1rem}.remove-btn{width:24px;height:24px;color:var(--error-color);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.5rem;right:.5rem}.remove-btn:hover{color:#a00}.add-btn{width:100%;color:var(--primary-color);border:1px dashed var(--primary-color);cursor:pointer;background-color:#f0f6fc;border-radius:4px;padding:.75rem;font-size:1rem;font-weight:500;transition:background-color .3s,color .3s;display:block}.add-btn:hover{background-color:var(--primary-color);color:#fff}.add-btn-container{margin-top:1rem;position:relative}.add-btn-container .add-btn-tooltip-text{visibility:hidden;color:#fff;text-align:center;z-index:10;opacity:0;background-color:#2d3748;border-radius:6px;width:320px;margin-left:-160px;padding:10px;font-size:.85rem;font-weight:400;line-height:1.5;transition:opacity .3s;position:absolute;bottom:120%;left:50%;box-shadow:0 2px 4px #0003}.add-btn-container .add-btn-tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#2d3748;margin-left:-5px;position:absolute;top:100%;left:50%}.add-btn-container:hover .add-btn-tooltip-text{visibility:visible;opacity:1}.result-section{background-color:var(--secondary-color);text-align:center;border-radius:8px;padding:1.5rem}.result-section h2{color:var(--primary-color);margin-bottom:1rem}.result-amount{color:var(--success-color);font-size:2.5rem;font-weight:700}.result-breakdown{color:#555;text-align:center;margin-top:.5rem;margin-bottom:1.5rem;font-size:1.1rem}.medical-result-subsection{background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;margin-top:1.5rem;padding:1rem}.medical-result-subsection h3{color:#495057;margin-bottom:.5rem;font-size:1.2rem}.result-amount-medical{color:#007bff;font-size:1.8rem;font-weight:700}.result-breakdown-medical{color:#555;text-align:center;margin-top:.25rem;margin-bottom:1rem;font-size:1rem}.medical-disclaimer{color:#6c757d;margin-top:.75rem;font-size:.85rem}.details-toggle-btn{width:100%;color:var(--primary-color);border:1px solid var(--border-color);cursor:pointer;background-color:#f0f6fc;border-radius:4px;margin-top:1.5rem;padding:.75rem;font-size:1rem;font-weight:500;transition:background-color .3s,color .3s}.details-toggle-btn:hover{background-color:#e2e8f0}.calculation-details{border-top:1px solid var(--border-color);text-align:left;flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding:1.5rem;display:none}.modal-content.details-visible .calculation-details{display:flex}.calculation-details h4{color:var(--text-color);text-align:center;margin-bottom:0;font-size:1.2rem;font-weight:500}.details-card{background-color:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.details-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.details-card-title{color:var(--primary-color);font-size:1.2rem;font-weight:700}.details-card-total{color:#333;font-size:1.2rem;font-weight:700}.details-grid{grid-template-columns:1fr auto;align-items:center;gap:.75rem 1.5rem;display:grid}.detail-item-title,.detail-item-value{font-size:.95rem}.detail-item-title{color:#333;font-weight:500}.detail-item-value{text-align:right;color:#000;font-weight:400}.detail-item-title.section-header,.detail-item-value.section-header{display:none}.detail-item-title.sub-item{color:#555;padding-left:1.5rem;font-weight:400;position:relative}.detail-item-value.sub-item{font-weight:400}.detail-item-title.property-type-header{color:var(--primary-color);font-size:1rem;font-weight:700}.property-separator{background-color:#e2e8f0;grid-column:1/-1;height:1px;margin:1.25rem 0}.detail-item-value.property-type-value{font-weight:700}.detail-item-title.sub-item-nested,.detail-item-value.sub-item-nested{color:#555;font-size:.9rem;font-weight:400}.detail-item-value.sub-item-nested{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.deduction-breakdown-text{color:#6c757d;font-size:.8rem;font-weight:400}.detail-item-title.sub-item-nested{padding-left:2.5rem}.detail-item-title.sub-item-nested.sub-item-deeper{padding-left:3.5rem}.detail-item-title.subtotal-label{color:#000;align-items:center;margin-top:.25rem;font-weight:700;display:flex}.detail-item-value.subtotal-value{color:#000;margin-top:.25rem;font-weight:700}.detail-item-title.final,.detail-item-value.final{color:var(--primary-color);border-top:1px dashed var(--border-color);margin-top:.75rem;padding-top:.75rem;font-size:1rem;font-weight:700}.detail-item-title.final.grand-total,.detail-item-value.final.grand-total{color:var(--primary-color);border-top:none;margin-top:0;padding-top:0;font-size:1.2rem}.detail-item-value.final,.detail-item-value.final.grand-total{color:var(--success-color)}.grand-total-row{border-top:2px solid var(--primary-color);margin-top:1rem;padding-top:1.5rem}.calculation-formula-inline{color:#555;margin-top:.25rem;font-size:.85rem;font-weight:400}.thresholds-section{margin-top:1.5rem}.thresholds-section h2{text-align:center;color:var(--primary-color);margin-bottom:1rem}.thresholds-table{border-collapse:collapse;text-align:center;width:100%}.thresholds-table th,.thresholds-table td{border:1px solid var(--border-color);padding:.75rem}.thresholds-table th{background-color:#e2e8f0;font-weight:500}.thresholds-table tbody tr:nth-child(odd){background-color:#f8f9fc}.highlight{font-weight:700;background-color:#fff3cd!important}.status-possible{color:var(--success-color);flex-direction:column;justify-content:center;align-items:center;font-weight:700;line-height:1.4;display:flex}.status-impossible{color:var(--error-color);font-weight:700}.benefit-amount{color:#495057;margin-top:.2rem;font-size:.9rem;font-weight:400}.disclaimer{color:var(--error-color);text-align:center;background-color:#f8f9fa;border-radius:4px;margin-top:2rem;padding:1rem;font-size:.95rem}.form-group.single-parent-group,.form-group.debt-group{grid-column:1/-1}@media (min-width:768px){.form-group.debt-group{grid-column:1/2}}.radio-group-box{border:1px solid var(--border-color);background-color:#fff;border-radius:4px;gap:1.5rem;padding:.75rem;display:flex}.radio-group-box .radio-option{align-items:center;gap:.5rem;display:flex}.radio-group-box .radio-option input[type=radio]{appearance:none;background-color:var(--background-color);border:2px solid var(--border-color);cursor:pointer;border-radius:50%;place-content:center;width:1.2em;height:1.2em;margin:0;transition:border-color .2s ease-in-out;display:grid}.radio-group-box .radio-option input[type=radio]:hover{border-color:var(--primary-color)}.radio-group-box .radio-option input[type=radio]:before{content:"";background-color:var(--primary-color);border-radius:50%;width:.7em;height:.7em;transition:transform .1s ease-in-out;transform:scale(0)}.radio-group-box .radio-option input[type=radio]:checked{border-color:var(--primary-color)}.radio-group-box .radio-option input[type=radio]:checked:before{transform:scale(1)}.radio-group-box .radio-option label{cursor:pointer;margin-bottom:0;font-weight:400}.navigation-buttons{justify-content:space-between;gap:1rem;margin-top:2.5rem;display:flex}.navigation-buttons.single-button{justify-content:flex-end}.navigation-buttons button{cursor:pointer;border:none;border-radius:4px;flex:1;max-width:250px;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s ease-in-out}.prev-btn{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1}.prev-btn:hover{background-color:#e2e8f0}.next-btn{background-color:var(--primary-color);color:#fff}.next-btn:hover{background-color:#047}.navigation-buttons .calculate-btn{max-width:250px;margin-top:0}.section-alert{background-color:#fffbe6;border:1px solid #ffe58f;border-left:4px solid #faad14;border-radius:4px;align-items:center;gap:.75rem;margin-bottom:2rem;padding:1rem;display:flex}.section-alert .warning-text{font-size:.95rem}.modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--background-color);border-radius:8px;width:100%;max-width:800px;max-height:90vh;animation:.3s scaleUp;position:relative;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.modal-content .result-section{padding-top:2rem}.modal-close-btn{color:#aaa;cursor:pointer;z-index:1110;background:0 0;border:none;padding:.5rem;font-size:2rem;line-height:1;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:#333}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.instruction-checkbox-wrapper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.instruction-checkbox-wrapper .description{min-height:auto;margin-bottom:0;line-height:1.5}.warning-text{color:var(--error-color);font-weight:500}.checkbox-group-box{border:1px solid var(--border-color);background-color:#f8f9fa;border-radius:4px;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.checkbox-option{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.checkbox-option label{cursor:pointer;margin-bottom:0;font-weight:400}.checkbox-option input[type=checkbox]{appearance:none;background-color:var(--background-color);border:2px solid var(--border-color);cursor:pointer;border-radius:4px;place-content:center;width:1.2em;height:1.2em;margin:0;transition:all .2s ease-in-out;display:grid}.checkbox-description{color:var(--error-color);font-size:.85rem;line-height:1.4}.checkbox-option input[type=checkbox]:hover{border-color:var(--primary-color)}.checkbox-option input[type=checkbox]:before{content:"";background-color:var(--primary-color);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:.7em;height:.7em;transition:transform .1s ease-in-out;transform:scale(0)}.checkbox-option input[type=checkbox]:checked{border-color:var(--primary-color)}.checkbox-option input[type=checkbox]:checked:before{transform:scale(1)}.monthly-grid-group{margin-top:1.5rem}.twelve-month-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.twelve-month-grid{grid-template-columns:repeat(4,1fr)}}.month-input-group label{font-size:.9rem;font-weight:400}.month-input-group .input-wrapper input{padding-right:3.5rem}.unit-display{color:#008a00;font-size:1rem;font-family:var(--font-family);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;transition:background-color .2s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.unit-display:hover{background-color:#f0f6fc}.unit-toggle-container{text-align:right;margin-top:1rem;font-size:.9rem}.unit-toggle-alt{border:1px solid var(--border-color);cursor:pointer;font-family:var(--font-family);background:0 0;border-radius:4px;margin-left:.5rem;padding:.2rem .5rem}.unit-toggle-alt:hover{background-color:#f0f6fc}.details-modal-overlay{z-index:1100;background-color:#000000bf;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.details-modal-content{background-color:var(--background-color);border-radius:8px;width:100%;max-width:700px;max-height:90vh;padding:2rem;animation:.3s scaleUp;position:relative;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.details-modal-content h3{text-align:center;color:var(--primary-color);margin-bottom:2rem;font-size:1.5rem;font-weight:500}.details-table{border-collapse:collapse;width:100%;margin-bottom:2rem;font-size:.95rem}.details-table th,.details-table td{border:1px solid var(--border-color);text-align:right;vertical-align:middle;padding:.75rem}.details-table th:first-child,.details-table td:first-child{text-align:center}.details-table thead th{background-color:#f0f6fc;font-weight:500}.details-table tbody tr:nth-child(2n){background-color:#f8f9fa}.details-table tfoot td{background-color:#e9ecef;font-weight:700}.details-table .deduction-value{color:var(--error-color)}.explanation-box{background-color:#f0f6fc;border:1px solid #cce0f5;border-radius:4px;padding:1.5rem;font-size:.95rem;line-height:1.8}.explanation-box h4{margin-bottom:1rem;font-size:1.1rem;font-weight:500}.explanation-box p{margin-bottom:1rem}.explanation-box .formula{border-left:3px solid var(--primary-color);word-break:break-all;background-color:#e9ecef;border-radius:4px;padding:1rem;font-family:monospace,Noto Sans KR,sans-serif;font-size:1rem}.explanation-box .formula strong,.explanation-box p strong{font-weight:700}.explanation-box .formula .highlight,.explanation-box p .highlight{color:var(--success-color)}.explanation-box .formula .warning,.explanation-box p .warning{color:var(--error-color)}.inline-details-btn{border:1px solid var(--primary-color);color:var(--primary-color);cursor:pointer;font-size:.8rem;font-family:var(--font-family);background:0 0;border-radius:4px;margin-left:.75rem;padding:.1rem .5rem;transition:all .2s}.inline-details-btn:hover{background:var(--primary-color);color:#fff}.car-modal-content{text-align:center;max-width:600px;padding:2rem}.car-modal-content h3{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.5rem}.car-modal-question{margin-bottom:2rem;font-size:1.1rem}.car-criteria-box{text-align:left;border:1px solid var(--border-color);background-color:#f8f9fa;border-radius:4px;margin-bottom:2rem;padding:1rem;font-size:.9rem;line-height:1.7}.car-criteria-box strong{margin-bottom:.75rem;font-weight:700;display:block}.car-criteria-box ul{padding-left:0;list-style-type:none}.car-criteria-box ul li{margin-bottom:.5rem;padding-left:1.2rem;position:relative}.car-criteria-box ul li:before{content:"•";color:var(--primary-color);font-weight:700;position:absolute;left:0}.car-modal-alert{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;margin-bottom:2rem;padding:1rem;font-size:1.05rem;line-height:1.7}.car-modal-buttons{justify-content:center;gap:1rem;display:flex}.car-modal-buttons button{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;min-width:120px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.car-modal-buttons button:first-child{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.car-modal-buttons button:first-child:hover{background-color:#047}.car-modal-buttons button:last-child{color:#475569;background-color:#f1f5f9}.car-modal-buttons button:last-child:hover{background-color:#e2e8f0}.car-modal-buttons.single-button{justify-content:center}.car-modal-buttons.single-button button{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);min-width:150px}.car-modal-buttons.single-button button:hover{background-color:#047}.private-transfer-amount-group{margin-top:1.5rem}.tooltip-icon .tooltip-text.car-tooltip{width:350px;margin-left:-175px}.tooltip-icon .tooltip-text.car-tooltip strong{color:#a0deff;margin-bottom:.5rem;font-size:.9rem;display:block}.tooltip-icon .tooltip-text.car-tooltip p{white-space:normal;margin-bottom:1rem}.tooltip-icon .tooltip-text.car-tooltip ul{white-space:normal;padding-left:0;list-style:none}.tooltip-icon .tooltip-text.car-tooltip ul li{margin-bottom:.25rem;padding-left:1rem;position:relative}.tooltip-icon .tooltip-text.car-tooltip ul li:before{content:"•";color:#63b3ed;position:absolute;left:0}
