.input-group-custom{margin-bottom:15px}.input-label{font-weight:500;color:#4a5568;margin-bottom:8px;display:flex;align-items:center;gap:8px;font-size:.95rem;position:relative}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#667eea;color:#fff;font-size:.7rem;cursor:help;margin-left:5px;position:relative}.tooltip-icon:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-text{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translateX(-50%);background-color:#2d3748;color:#fff;text-align:center;padding:8px 12px;border-radius:8px;font-size:.85rem;white-space:nowrap;transition:opacity .3s;box-shadow:0 4px 6px rgba(0,0,0,.1);font-weight:400;min-width:200px;white-space:normal}.tooltip-text::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#2d3748 transparent transparent transparent}.form-input{width:100%;padding:10px 12px;border:2px solid #48bb78;border-radius:12px;font-size:1rem;font-family:'Roboto Mono',monospace;transition:all .3s ease;background:#f0fff4}.form-input:focus{outline:none;border-color:#38a169;box-shadow:0 0 0 4px rgba(72,187,120,.2);transform:translateY(-2px)}.input-range{font-size:.75rem;color:#718096;margin-top:4px}.input-hint{font-size:.8rem;color:#667eea;margin-top:4px;font-weight:500}.input-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.stage-section{margin-bottom:20px;border:2px solid #e2e8f0;border-radius:12px;padding:15px;background:#fafafa}.stage-header{display:flex;align-items:center;justify-content:space-between;padding:10px;cursor:pointer;font-weight:600;font-size:1.1rem;color:#2d3748;transition:all .3s ease}.stage-header:hover{color:#667eea}.stage-header i{transition:transform .3s ease}.stage-header.active i{transform:rotate(180deg)}.stage-cost{font-family:'Roboto Mono',monospace;font-size:1rem;color:#667eea;font-weight:700}.school-type-selector{display:flex;gap:15px;margin-bottom:15px;padding:10px;background:#fff;border-radius:8px}.radio-label{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 15px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500}.radio-label:hover{border-color:#667eea;background:rgba(102,126,234,.05)}.radio-label input[type="radio"]{margin-right:8px}.radio-label input[type="radio"]:checked+span{color:#667eea;font-weight:600}.result-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}@media(min-width:992px){.result-card{position:sticky;top:20px}}.result-main{text-align:center;padding:20px 0}.result-label{font-size:1.1rem;font-weight:500;opacity:.95;margin-bottom:10px}.result-value{font-family:'Roboto Mono',monospace;font-size:2.5rem;font-weight:700;margin-bottom:10px;animation:pulse .5s ease}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.result-divider{border:0;height:2px;background:rgba(255,255,255,.3);margin:20px 0}.result-details{background:rgba(255,255,255,.1);border-radius:12px;padding:15px;margin-top:15px}.result-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);align-items:center}.result-item:last-child{border-bottom:none}.result-item-label{font-size:.95rem;opacity:.9}.result-item-value{font-family:'Roboto Mono',monospace;font-weight:600;font-size:1.05rem}.chart-container{position:relative;height:350px;margin:10px 0}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.page-header h1{font-size:2rem}.result-value{font-size:2rem}.input-row{grid-template-columns:1fr}}.subsidy-info{background:rgba(245,158,11,.1);border-left:4px solid #f59e0b;padding:15px;border-radius:8px;margin:20px 0}.subsidy-info h4{color:#d97706;margin-bottom:10px;font-size:1.1rem}.subsidy-info .subsidy-note{font-size:.9rem;color:#78350f;margin-top:10px;font-style:italic}.budget-gap-positive{color:#48bb78;font-weight:700}.budget-gap-negative{color:#ef4444;font-weight:700}.strategy-info{margin-top:20px}.strategy-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:20px;margin-bottom:15px;transition:all .3s ease;display:none}.strategy-card.selected{display:block;border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.strategy-card h4{color:#2d3748;margin-bottom:15px;font-size:1.2rem}.strategy-path{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:15px;padding:15px;background:#fff;border-radius:8px}.badge{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.badge-private{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.badge-public{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.strategy-desc ul{margin:10px 0;padding-left:20px}.strategy-desc li{margin:8px 0;line-height:1.6}.strategy-cost{background:rgba(102,126,234,.1);padding:12px;border-radius:8px;margin:15px 0}.cost-value,.monthly-value{color:#667eea;font-weight:700;font-size:1.1rem}.strategy-benefit{padding:10px;background:#fff;border-left:4px solid #48bb78;border-radius:4px;margin-top:10px}.text-success{color:#48bb78}.text-info{color:#60a5fa}.text-warning{color:#f59e0b}.text-primary{color:#667eea}