:root{--tc-primary:#4361ee;--tc-primary-deep:#3a56d4;--tc-secondary:#00a86b;--tc-secondary-light:#e6f0ff;--tc-danger:#e74c3c;--tc-bg:#f7f9fb;--tc-white:#ffffff;--tc-text:#2b2d42;--tc-border:#d8dce2;--mc-radius:8px;--mc-spacing:1.5rem;--mc-gap:0.6rem}.tc-header{text-align:center;padding:1.75rem 1rem!important;border:1px solid var(--tc-border)!important;border-radius:var(--mc-radius)}.tc-header-icon{font-size:2rem;color:var(--tc-primary)!important;display:block;margin:0 0 .75rem 0!important;animation:tc-pulse 3s ease-in-out infinite}@keyframes tc-pulse{0%,100%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.15) rotate(180deg);opacity:.8}}.tc-title{font-size:2rem!important;font-weight:700;color:var(--tc-text)!important;letter-spacing:-.5px;margin:0!important}.tc-subtitle{font-size:0.95rem!important;color:#8892a4!important;margin:.25rem 0 0 0!important;font-weight:400}.tc-card,.tc-result-card{background:var(--tc-white)!important;border-radius:var(--mc-radius);border:1px solid var(--tc-border)!important;padding:var(--mc-spacing);display:flex;flex-direction:column;gap:1.4rem;box-shadow:0 2px 12px rgb(67 97 238 / .06)}.tc-result-card{display:none;animation:tc-slidein 0.35s cubic-bezier(.22,1,.36,1)}.tc-result-card.tc-visible{display:flex}@keyframes tc-slidein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.tc-section{display:flex;flex-direction:column;gap:var(--mc-gap)}.tc-label{font-size:0.82rem!important;font-weight:600;color:#6b7280!important;text-transform:uppercase;letter-spacing:.06em}.tc-hint{font-size:0.8rem!important;color:#8892a4!important;font-style:italic;margin-top:.1rem}.tc-toggle-group{display:flex;gap:.5rem;background:var(--tc-bg)!important;padding:4px;border-radius:var(--mc-radius);border:1px solid var(--tc-border)!important}.tc-toggle{flex:1;padding:.55rem 1rem;border:none!important;border-radius:6px;background:transparent!important;font-size:0.9rem!important;font-weight:500;color:#6b7280!important;cursor:pointer;transition:all 0.2s ease}.tc-toggle.active{background:var(--tc-primary)!important;color:var(--tc-white)!important;box-shadow:0 2px 8px rgb(67 97 238 / .3)}.tc-freq-group{display:flex;gap:.5rem;flex-wrap:wrap}.tc-freq{flex:1 1 auto;min-width:calc(50% - 0.25rem);padding:.55rem .5rem;border:1.5px solid var(--tc-border)!important;border-radius:var(--mc-radius);background:transparent!important;font-family:"Rubik",sans-serif;font-size:0.88rem!important;font-weight:500;color:var(--tc-text)!important;cursor:pointer;transition:all 0.2s ease;text-align:center}.tc-freq:hover{border-color:var(--tc-primary)!important;color:var(--tc-primary)!important}.tc-freq.active{background:var(--tc-secondary-light)!important;border-color:var(--tc-primary)!important;color:var(--tc-primary)!important;font-weight:600}.tc-input-wrap{position:relative;display:flex;align-items:center}.tc-currency{position:absolute;left:14px;font-size:1.1rem!important;font-weight:600;color:#6b7280!important;pointer-events:none}.tc-input{width:100%;padding:.75rem .875rem .75rem 2.25rem;border:1.5px solid var(--tc-border)!important;border-radius:var(--mc-radius)!important;font-size:1.1rem!important;font-weight:500;color:var(--tc-text)!important;background:var(--tc-white)!important;outline:none;transition:border-color 0.2s;-moz-appearance:textfield}.tc-input::-webkit-outer-spin-button,.tc-input::-webkit-inner-spin-button{-webkit-appearance:none}.tc-input:focus{border-color:var(--tc-primary)!important;box-shadow:0 0 0 3px rgb(67 97 238 / .12)}.tc-extra-header{display:flex;align-items:center;justify-content:space-between}.tc-add-btn{font-size:0.82rem!important;font-weight:600;color:var(--tc-primary)!important;background:none!important;border:none!important;cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:background 0.15s}.tc-add-btn:hover{background:var(--tc-secondary-light)!important}#tc-extra-sources{display:flex;flex-direction:column;gap:.5rem}.tc-source-row{display:flex;gap:.5rem;align-items:center;animation:tc-fadein 0.2s ease}@keyframes tc-fadein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tc-source-row .tc-input{font-size:0.9rem!important;padding-left:1rem}.tc-source-label-input{width:38%;flex-shrink:0;padding:.65rem .75rem;border:1.5px solid var(--tc-border)!important;border-radius:var(--mc-radius);font-size:0.88rem!important;color:var(--tc-text)!important;background:var(--tc-white)!important;outline:none;transition:border-color 0.2s}.tc-source-label-input:focus{border-color:var(--tc-primary)!important}.tc-source-amount-wrap{flex:1;position:relative;display:flex;align-items:center}.tc-source-amount-wrap .tc-currency{left:10px;font-size:0.95rem!important}.tc-source-amount-wrap .tc-input{padding-left:1.75rem;font-size:0.9rem!important}.tc-source-remove{background:none!important;border:none!important;color:var(--tc-danger)!important;font-size:1.1rem!important;cursor:pointer;padding:.3rem;border-radius:4px;line-height:1;flex-shrink:0;transition:background 0.15s}.tc-source-remove:hover{background:#fdecea!important}.tc-pct-wrap{display:flex;align-items:center;gap:1rem}.tc-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(to right,var(--tc-primary) 0%,var(--tc-primary) 30%,var(--tc-border) 30%);outline:none;cursor:pointer;transition:background 0.2s}.tc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--tc-primary)!important;cursor:pointer;border:3px solid var(--tc-white)!important;box-shadow:0 1px 6px rgb(67 97 238 / .35);transition:transform 0.15s}.tc-slider::-webkit-slider-thumb:active{transform:scale(1.2)}.tc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--tc-primary)!important;cursor:pointer;border:3px solid var(--tc-white)!important}.tc-pct-input-wrap{position:relative;width:80px;flex-shrink:0}.tc-pct-input{padding:.6rem 1.6rem .6rem 0.75rem!important;font-size:0.95rem!important;text-align:center}.tc-pct-symbol{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#6b7280!important;font-size:0.9rem!important;font-weight:600;pointer-events:none}.tc-pct-labels{display:flex;justify-content:space-between;font-size:0.72rem!important;color:#9ca3af!important;padding:0 2px}.tc-button{width:100%;padding:.95rem;background:var(--tc-primary)!important;color:var(--tc-white)!important;border:none!important;border-radius:var(--mc-radius);font-size:1rem!important;font-weight:600;cursor:pointer;transition:all 0.2s ease;letter-spacing:.02em}.tc-button:hover{background:var(--tc-primary-deep)!important;box-shadow:0 4px 16px rgb(67 97 238 / .4);transform:translateY(-1px)}.tc-button:active{transform:translateY(0);box-shadow:none}.tc-result-header{display:flex;align-items:center;justify-content:space-between}.tc-result-title{font-size:1rem!important;font-weight:700;color:var(--tc-text)!important}.tc-result-badge{background:var(--tc-secondary-light)!important;color:var(--tc-primary)!important;font-size:0.78rem!important;font-weight:700;padding:.25rem .65rem;border-radius:999px;border:1px solid rgb(67 97 238 / .15)!important}.tc-result-main{text-align:center;padding:1rem 0 .5rem}.tc-result-label{font-size:0.8rem!important;color:#6b7280!important;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.tc-result-amount{font-size:3rem!important;font-weight:700;color:var(--tc-primary)!important;line-height:1;letter-spacing:-1px}.tc-divider{height:1px;background:var(--tc-border)!important;margin:.2rem 0}.tc-result-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.tc-result-item{background:var(--tc-bg)!important;border-radius:var(--mc-radius);padding:.75rem .5rem;text-align:center;border:1px solid var(--tc-border)!important}.tc-result-item--annual{grid-column:1 / -1;background:var(--tc-secondary-light)!important;border-color:rgb(67 97 238 / .2)!important}.tc-result-item-label{font-size:0.72rem!important;color:#6b7280!important;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.tc-result-item-value{font-size:1.05rem!important;font-weight:700;color:var(--tc-text)!important}.tc-result-item--annual .tc-result-item-value{font-size:1.3rem!important;color:var(--tc-primary)!important}.tc-bar-wrap{display:flex;flex-direction:column;gap:.5rem}.tc-bar{height:10px;border-radius:999px;overflow:hidden;background:var(--tc-border)!important;display:flex}.tc-bar-tithe{height:100%;background:var(--tc-primary)!important;border-radius:999px 0 0 999px;transition:width 0.5s cubic-bezier(.22,1,.36,1)}.tc-bar-remain{height:100%;background:#e2e8f0!important;flex:1;border-radius:0 999px 999px 0}.tc-bar-legend{display:flex;gap:1.25rem}.tc-legend-item{display:flex;align-items:center;gap:.4rem;font-size:0.8rem!important;color:#6b7280!important}.tc-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.tc-legend-dot--tithe{background:var(--tc-primary)!important}.tc-legend-dot--remain{background:#cbd5e1!important}.tc-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.tc-stat{text-align:center;padding:.75rem .4rem;border-radius:var(--mc-radius);background:var(--tc-bg)!important;border:1px solid var(--tc-border)!important}.tc-stat-label{font-size:0.72rem!important;color:#6b7280!important;font-weight:500;margin-bottom:.2rem}.tc-stat-value{font-size:0.95rem!important;font-weight:700;color:var(--tc-text)!important}.tc-stat-value--green{color:var(--tc-secondary)!important}.tc-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tc-action{flex:1;min-width:calc(33.333% - 0.34rem);padding:.65rem .5rem;border-radius:var(--mc-radius);font-size:0.82rem!important;font-weight:600;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:.35rem}.tc-action-icon{font-size:0.95rem!important}.tc-action--pdf{background:var(--tc-primary)!important;color:var(--tc-white)!important;border:none!important}.tc-action--pdf:hover{background:var(--tc-primary-deep)!important;transform:translateY(-1px);box-shadow:0 3px 10px rgb(67 97 238 / .3)}.tc-action--copy{background:var(--tc-white)!important;color:var(--tc-text)!important;border:1.5px solid var(--tc-border)!important}.tc-action--copy:hover{border-color:var(--tc-primary)!important;color:var(--tc-primary)!important}.tc-action--reset{background:var(--tc-white)!important;color:var(--tc-danger)!important;border:1.5px solid #fca5a5!important}.tc-action--reset:hover{background:#fff5f5!important}.tc-modal-backdrop{position:fixed;inset:0;background:rgb(43 45 66 / .45);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:1rem}.tc-modal-backdrop.tc-visible{display:flex;animation:tc-fadein 0.2s ease}.tc-modal{background:var(--tc-white)!important;border-radius:var(--mc-radius);padding:1.75rem;width:100%;max-width:340px;box-shadow:0 20px 60px rgb(43 45 66 / .3);border:1px solid var(--tc-border)!important}.tc-modal-title{font-size:1.1rem!important;font-weight:700;color:var(--tc-text)!important;margin-bottom:.5rem}.tc-modal-body{font-size:0.9rem!important;color:#6b7280!important;margin-bottom:1.25rem}.tc-modal-actions{display:flex;gap:.75rem}.tc-modal-btn{flex:1;padding:.65rem;border-radius:var(--mc-radius);font-size:0.9rem!important;font-weight:600;cursor:pointer;transition:all 0.2s}.tc-modal-btn--cancel{background:var(--tc-bg)!important;color:var(--tc-text)!important;border:1px solid var(--tc-border)!important}.tc-modal-btn--cancel:hover{border-color:var(--tc-primary)!important}.tc-modal-btn--confirm{background:var(--tc-danger)!important;color:var(--tc-white)!important;border:none!important}.tc-modal-btn--confirm:hover{background:#c0392b!important}.tc-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:#1e293b!important;color:var(--tc-white)!important;padding:.65rem 1.25rem;border-radius:999px;font-size:0.88rem!important;font-weight:500;white-space:nowrap;opacity:0;transition:all 0.3s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:200}.tc-toast.tc-toast-show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:480px){body{padding:1rem .75rem 3rem}.tc-header{padding:1.5rem .5rem 1rem}.tc-title{font-size:1.6rem!important}.tc-result-amount{font-size:2.25rem!important}.tc-actions{flex-direction:column}.tc-action{min-width:100%}.tc-stats-row{grid-template-columns:1fr 1fr}.tc-stat:last-child{grid-column:1 / -1}.tc-freq{min-width:calc(50% - 0.25rem)}}@media (min-width:600px){.tc-freq{min-width:0}}
