:root{--teyc-primary:#4361ee;--teyc-primary-deep:#3a56d4;--teyc-secondary:#00a86b;--teyc-secondary-light:#e6f0ff;--teyc-danger:#e74c3c;--teyc-bg:#f7f9fb;--teyc-white:#ffffff;--teyc-text:#2b2d42;--teyc-border:#d8dce2;--teyc-radius:8px;--teyc-spacing:1.5rem;--teyc-gap:0.6rem;--teyc-text-muted:#6b7280;--teyc-card-shadow:0 2px 6px rgba(0, 0, 0, 0.05), 0 12px 40px rgba(67, 97, 238, 0.08);--teyc-focus-ring:0 0 0 3px rgba(67, 97, 238, 0.22);--teyc-transition:0.22s ease}.teyc-header{text-align:center;padding:2rem 1rem;border:1px solid var(--teyc-border);border-radius:var(--teyc-radius);box-shadow:var(--teyc-card-shadow)}.teyc-badge{display:inline-block;background:var(--teyc-secondary-light);color:var(--teyc-primary)!important;font-size:0.7rem!important;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .9rem;border-radius:50px;margin-bottom:1rem;border:1px solid rgb(67 97 238 / .18)!important}.teyc-title{font-size:clamp(1.4rem, 5vw, 2rem)!important;font-weight:700;line-height:1.2;color:var(--teyc-text)!important}.teyc-title-accent{color:var(--teyc-primary)!important}.teyc-subtitle{margin-top:.75rem;color:var(--teyc-text-muted)!important;font-size:1rem!important;font-weight:400;max-width:440px;margin-inline:auto}.teyc-card{background:var(--teyc-white);border-radius:var(--teyc-radius);box-shadow:var(--teyc-card-shadow);overflow:hidden;border:1px solid rgb(255 255 255 / .9)!important}.teyc-formula-bar{background:linear-gradient(135deg,var(--teyc-primary) 0%,#7b8ff7 100%);padding:.85rem var(--teyc-spacing);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.teyc-formula-label{color:rgb(255 255 255 / .7)!important;font-size:0.7rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.teyc-formula-text{color:#fff!important;font-size:0.88rem!important;font-weight:500;font-style:italic}.teyc-form{padding:var(--teyc-spacing);display:flex;flex-direction:column;gap:1.4rem}.teyc-section-label{font-size:0.72rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--teyc-text-muted)!important;margin-bottom:-.4rem}.teyc-fields{display:grid;gap:1.2rem}.teyc-field{display:flex;flex-direction:column;gap:.35rem}.teyc-label{font-size:0.88rem!important;font-weight:500;color:var(--teyc-text)!important;display:flex;align-items:center;gap:.4rem}.teyc-tooltip-wrap{position:relative;display:inline-flex}.teyc-info-icon{width:16px;height:16px;border-radius:50%;background:var(--teyc-secondary-light);color:var(--teyc-primary)!important;font-size:0.68rem!important;font-weight:700;font-style:italic;display:inline-flex;align-items:center;justify-content:center;cursor:help;transition:background var(--teyc-transition);border:1px solid rgb(67 97 238 / .2)!important}.teyc-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1e2035;color:#f0f1ff!important;font-size:0.78rem!important;font-weight:400;font-style:normal;line-height:1.5;padding:.55rem .8rem;border-radius:8px;width:220px;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.18s ease,visibility 0.18s ease;z-index:100;box-shadow:0 8px 24px rgb(0 0 0 / .2)}.teyc-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid #fff0;border-top-color:#1e2035}.teyc-tooltip-wrap:hover .teyc-tooltip,.teyc-tooltip-wrap:focus-within .teyc-tooltip{opacity:1;visibility:visible}.teyc-input-wrap{position:relative;display:flex;align-items:center}.teyc-input{width:100%;padding:.72rem 2.6rem .72rem .95rem;font-family:"Rubik",sans-serif;font-size:1rem!important;font-weight:400;color:var(--teyc-text)!important;background:var(--teyc-bg);border:1.5px solid var(--teyc-border)!important;border-radius:var(--teyc-radius);outline:none;transition:border-color var(--teyc-transition),box-shadow var(--teyc-transition),background var(--teyc-transition);-moz-appearance:textfield}.teyc-input::-webkit-outer-spin-button,.teyc-input::-webkit-inner-spin-button{-webkit-appearance:none}.teyc-input:focus{border:1.5px solid var(--teyc-primary)!important;background:var(--teyc-white);box-shadow:var(--teyc-focus-ring)}.teyc-field--error .teyc-input{border:1.5px solid var(--teyc-danger)!important}.teyc-unit{position:absolute;right:.85rem;font-size:0.9rem!important;font-weight:600;color:var(--teyc-primary)!important;pointer-events:none}.teyc-error{font-size:0.78rem!important;color:var(--teyc-danger)!important;font-weight:500;min-height:1em;display:block}.teyc-brackets{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.2rem}.teyc-brackets-label{font-size:0.72rem!important;color:var(--teyc-text-muted)!important;font-weight:500}.teyc-bracket-btn{font-family:"Rubik",sans-serif;font-size:0.72rem!important;font-weight:500;padding:.22rem .6rem;border-radius:50px;border:1.5px solid var(--teyc-border)!important;background:var(--teyc-white);color:var(--teyc-text-muted)!important;cursor:pointer;transition:border-color var(--teyc-transition),color var(--teyc-transition),background var(--teyc-transition)}.teyc-bracket-btn:hover,.teyc-bracket-btn.teyc-bracket-btn--active{border:1.5px solid var(--teyc-primary)!important;color:var(--teyc-primary)!important;background:var(--teyc-secondary-light)}.teyc-advanced-toggle{display:flex;align-items:center;gap:.55rem;font-family:"Rubik",sans-serif;font-size:0.88rem!important;font-weight:500;color:var(--teyc-primary)!important;background:#fff0;border:1.5px dashed rgb(67 97 238 / .3)!important;border-radius:var(--teyc-radius);padding:.6rem 1rem;cursor:pointer;transition:background var(--teyc-transition),border-color var(--teyc-transition);align-self:flex-start}.teyc-advanced-toggle:hover{background:var(--teyc-secondary-light);border:1.5px dashed var(--teyc-primary)!important}.teyc-advanced-icon{display:inline-block;font-size:1.1rem!important;font-weight:300;line-height:1;transition:transform 0.25s ease}.teyc-advanced-toggle[aria-expanded="true"] .teyc-advanced-icon{transform:rotate(45deg)}.teyc-advanced-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.32s cubic-bezier(.4,0,.2,1),opacity 0.28s ease;opacity:0}.teyc-advanced-panel[aria-hidden="false"]{grid-template-rows:1fr;opacity:1}.teyc-advanced-inner{overflow:hidden;display:flex;flex-direction:column;gap:1rem;padding-top:.15rem;padding-bottom:.25rem}.teyc-combined-preview{font-size:0.82rem!important;color:var(--teyc-text-muted)!important;background:var(--teyc-secondary-light);border-radius:var(--teyc-radius);padding:.55rem .85rem;margin-top:.6rem;min-height:2rem;transition:opacity 0.2s ease}.teyc-btn-calc{display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:"Rubik",sans-serif;font-size:1rem!important;font-weight:600;color:#fff!important;background:linear-gradient(135deg,var(--teyc-primary) 0%,#6b7ef0 100%);border:none!important;border-radius:var(--teyc-radius);padding:.9rem 1.5rem;cursor:pointer;transition:transform 0.18s ease,box-shadow 0.18s ease,filter 0.18s ease;box-shadow:0 4px 18px rgb(67 97 238 / .35);width:100%}.teyc-btn-calc:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgb(67 97 238 / .4);filter:brightness(1.06)}.teyc-btn-calc:active{transform:translateY(0)}.teyc-btn-arrow{font-size:1.1rem!important;transition:transform 0.2s ease}.teyc-btn-calc:hover .teyc-btn-arrow{transform:translateX(4px)}.teyc-results{padding:var(--teyc-spacing);border-top:1px solid var(--teyc-border)!important;animation:teyc-fade-up 0.4s ease both}@keyframes teyc-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.teyc-results-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.4rem}.teyc-results-badge{font-size:0.68rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:var(--teyc-secondary);color:#fff!important;padding:.25rem .7rem;border-radius:50px}.teyc-results-title{font-size:1rem!important;font-weight:600;color:var(--teyc-text)!important}.teyc-tey-display{text-align:center;padding:1.8rem 1rem;background:linear-gradient(135deg,#f0f3ff 0%,#e8f9f2 100%);border-radius:14px;margin-bottom:1.4rem}.teyc-tey-value-wrap{display:flex;align-items:flex-start;justify-content:center;gap:.1rem}.teyc-tey-value{font-size:clamp(2.8rem, 10vw, 4rem)!important;font-weight:800;color:var(--teyc-primary)!important;line-height:1;letter-spacing:-.04em;transition:color 0.3s ease}.teyc-tey-pct{font-size:1.5rem!important;font-weight:700;color:var(--teyc-primary)!important;margin-top:.6rem}.teyc-tey-label{font-size:0.82rem!important;font-weight:500;color:var(--teyc-text-muted)!important;margin-top:.5rem;letter-spacing:.02em}.teyc-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.4rem}.teyc-breakdown-card{background:var(--teyc-bg);border-radius:10px;padding:.9rem 1rem;border:1px solid var(--teyc-border)!important;transition:box-shadow 0.2s ease}.teyc-breakdown-card:hover{box-shadow:0 4px 16px rgb(67 97 238 / .1)}.teyc-breakdown-card-label{font-size:0.72rem!important;font-weight:500;color:var(--teyc-text-muted)!important;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.3rem}.teyc-breakdown-card-value{font-size:1.2rem!important;font-weight:700;color:var(--teyc-text)!important}.teyc-breakdown-card-value--accent{color:var(--teyc-secondary)!important}.teyc-breakdown-card-value--primary{color:var(--teyc-primary)!important}.teyc-compare-section{margin-bottom:1.4rem}.teyc-compare-label-row,.teyc-compare-pct-row{display:flex;justify-content:space-between;font-size:0.78rem!important;font-weight:500;color:var(--teyc-text-muted)!important;margin-bottom:.4rem}.teyc-compare-pct-row{margin-top:.4rem;margin-bottom:0;font-weight:600;color:var(--teyc-text)!important}.teyc-bar-track{height:10px;background:#eef0f5;border-radius:50px;display:flex;overflow:hidden}.teyc-bar-fill{height:100%;border-radius:50px;transition:width 0.7s cubic-bezier(.22,1,.36,1)}.teyc-bar-free{background:linear-gradient(90deg,#a8b4f8,var(--teyc-primary))}.teyc-bar-taxable{background:linear-gradient(90deg,var(--teyc-secondary),#00c87e)}.teyc-interpretation{background:#fffbf0;border-left:3px solid #f59e0b!important;border-radius:0 var(--teyc-radius) var(--teyc-radius) 0;padding:.9rem 1rem;font-size:0.88rem!important;color:var(--teyc-text)!important;line-height:1.65;margin-bottom:1.4rem}.teyc-interpretation strong{color:var(--teyc-text)!important;font-weight:600}.teyc-actions{display:flex;gap:.65rem;flex-wrap:wrap}.teyc-action-btn{flex:1;min-width:110px;display:flex;align-items:center;justify-content:center;gap:.45rem;font-family:"Rubik",sans-serif;font-size:0.82rem!important;font-weight:600;padding:.65rem .8rem;border-radius:var(--teyc-radius);cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease,filter 0.15s ease}.teyc-action-btn svg{width:16px;height:16px;flex-shrink:0}.teyc-action-btn:active{transform:scale(.97)}.teyc-action-btn--pdf{background:var(--teyc-primary);color:#fff!important;border:none!important;box-shadow:0 3px 12px rgb(67 97 238 / .3)}.teyc-action-btn--pdf:hover{filter:brightness(1.1);box-shadow:0 6px 18px rgb(67 97 238 / .38)}.teyc-action-btn--copy{background:var(--teyc-white);color:var(--teyc-text)!important;border:1.5px solid var(--teyc-border)!important}.teyc-action-btn--copy:hover{border:1.5px solid var(--teyc-primary)!important;color:var(--teyc-primary)!important}.teyc-action-btn--reset{background:#fff5f5;color:var(--teyc-danger)!important;border:1.5px solid #fecaca!important}.teyc-action-btn--reset:hover{background:#fee2e2;border:1.5px solid var(--teyc-danger)!important}.teyc-disclaimer{text-align:center;font-size:0.72rem!important;color:var(--teyc-text-muted)!important;margin-top:1rem;line-height:1.6}.teyc-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(80px);background:#1e2035;color:#fff!important;font-size:0.85rem!important;font-weight:500;padding:.65rem 1.4rem;border-radius:50px;box-shadow:0 8px 30px rgb(0 0 0 / .2);z-index:9999;opacity:0;transition:transform 0.3s ease,opacity 0.3s ease;white-space:nowrap;pointer-events:none}.teyc-toast--show{transform:translateX(-50%) translateY(0);opacity:1}.teyc-toast--success{background:var(--teyc-secondary)}.teyc-toast--error{background:var(--teyc-danger)}.teyc-modal-overlay{position:fixed;inset:0;background:rgb(15 17 35 / .45);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.25s ease,visibility 0.25s ease}.teyc-modal-overlay[aria-hidden="false"]{opacity:1;visibility:visible}.teyc-modal{background:var(--teyc-white);border-radius:16px;padding:2rem;max-width:380px;width:calc(100% - 2.5rem);box-shadow:0 25px 60px rgb(0 0 0 / .18);transform:scale(.94) translateY(10px);transition:transform 0.25s ease}.teyc-modal-overlay[aria-hidden="false"] .teyc-modal{transform:scale(1) translateY(0)}.teyc-modal-title{font-size:1.15rem!important;font-weight:700;color:var(--teyc-text)!important;margin-bottom:.65rem}.teyc-modal-body{font-size:0.9rem!important;color:var(--teyc-text-muted)!important;line-height:1.6;margin-bottom:1.5rem}.teyc-modal-actions{display:flex;gap:.65rem;justify-content:flex-end}.teyc-modal-btn{font-family:"Rubik",sans-serif;font-size:0.88rem!important;font-weight:600;padding:.6rem 1.2rem;border-radius:var(--teyc-radius);cursor:pointer;transition:filter 0.15s ease}.teyc-modal-btn--cancel{background:var(--teyc-bg);color:var(--teyc-text)!important;border:1.5px solid var(--teyc-border)!important}.teyc-modal-btn--confirm{background:var(--teyc-danger);color:#fff!important;border:none!important;box-shadow:0 3px 10px rgb(231 76 60 / .3)}.teyc-modal-btn:hover{filter:brightness(1.07)}@media (max-width:540px){.teyc-formula-bar{flex-direction:column;align-items:flex-start;gap:.3rem}.teyc-breakdown-grid{grid-template-columns:1fr}.teyc-actions{flex-direction:column}.teyc-action-btn{flex:unset;width:100%}.teyc-tey-value{font-size:3rem!important}.teyc-compare-label-row span,.teyc-compare-pct-row span{font-size:0.72rem!important}}@media (min-width:541px) and (max-width:768px){.teyc-breakdown-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px){.teyc-fields{grid-template-columns:1fr}}.teyc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}
