:root{--cfcc-primary:#0072ce;--cfcc-primary-deep:#005fa3;--cfcc-secondary:#00a86b;--cfcc-secondary-light:#e6f0ff;--cfcc-danger:#e74c3c;--cfcc-bg:#f7f9fb;--cfcc-white:#ffffff;--cfcc-text:#26282c;--cfcc-border:#d8dce2;--cfcc-radius:8px;--cfcc-spacing:1.5rem;--cfcc-gap:0.6rem;--cfcc-orange:#f07c00;--cfcc-orange-light:#fff4e5;--cfcc-purple:#6b3fa0;--cfcc-purple-light:#f2edf9;--cfcc-green-light:#e6f9f0;--cfcc-blue-light:#e8f2ff;--cfcc-muted:#8b9099;--cfcc-muted-bg:#f0f2f5;--cfcc-shadow:0 2px 12px rgba(0, 114, 206, 0.08);--cfcc-shadow-hover:0 6px 24px rgba(0, 114, 206, 0.14);--cfcc-transition:0.22s ease}.cfcc-header{display:flex;align-items:center;gap:1rem;padding:2rem 1rem;margin-bottom:1.25rem;border:1px solid var(--cfcc-border)!important;border-radius:var(--cfcc-radius);background:var(--cfcc-white)!important}.cfcc-header-icon{width:52px;height:52px;background:var(--cfcc-primary)!important;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgb(0 114 206 / .28)}.cfcc-header-icon svg{width:28px;height:28px;stroke:#fff!important}.cfcc-title{font-size:1.5rem!important;font-weight:700;color:var(--cfcc-text)!important;line-height:1.25;letter-spacing:-.02em}.cfcc-subtitle{font-size:0.82rem!important;color:var(--cfcc-muted)!important;font-weight:400;margin-top:2px;letter-spacing:.02em}.cfcc-unit-toggle-wrapper{display:flex;gap:.5rem;margin-bottom:1.25rem;background:var(--cfcc-white)!important;border:1px solid var(--cfcc-border)!important;border-radius:var(--cfcc-radius);padding:4px}.cfcc-unit-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:none!important;border-radius:calc(var(--cfcc-radius) - 2px);background:transparent!important;color:var(--cfcc-muted)!important;font-family:"Rubik",sans-serif;font-size:0.875rem!important;font-weight:500;cursor:pointer;transition:background var(--cfcc-transition),color var(--cfcc-transition);white-space:nowrap}.cfcc-unit-btn--active{background:var(--cfcc-primary)!important;color:var(--cfcc-white)!important;box-shadow:0 2px 8px rgb(0 114 206 / .3)}.cfcc-unit-btn--active .cfcc-unit-hint{opacity:.8}.cfcc-unit-hint{font-size:0.75rem!important;font-weight:400;opacity:.55}.cfcc-card{background:var(--cfcc-white)!important;border:1px solid var(--cfcc-border)!important;border-radius:calc(var(--cfcc-radius) * 1.5);padding:var(--cfcc-spacing);margin-bottom:1.25rem;box-shadow:var(--cfcc-shadow)}.cfcc-section{padding:.5rem 0}.cfcc-section-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.cfcc-section-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cfcc-section-icon svg{width:17px;height:17px}.cfcc-icon--blue{background:var(--cfcc-blue-light)!important}.cfcc-icon--blue svg{stroke:var(--cfcc-primary)!important}.cfcc-icon--green{background:var(--cfcc-green-light)!important}.cfcc-icon--green svg{stroke:var(--cfcc-secondary)!important}.cfcc-icon--orange{background:var(--cfcc-orange-light)!important}.cfcc-icon--orange svg{stroke:var(--cfcc-orange)!important}.cfcc-icon--gray{background:var(--cfcc-muted-bg)!important}.cfcc-icon--gray svg{stroke:var(--cfcc-muted)!important}.cfcc-section-title{font-size:0.9rem!important;font-weight:600;color:var(--cfcc-text)!important;display:block}.cfcc-divider{height:1px;background:var(--cfcc-border)!important;margin:.75rem 0}.cfcc-input-row{display:flex;flex-direction:column;gap:var(--cfcc-gap)}.cfcc-input-wrap{display:flex;align-items:stretch;border:1px solid var(--cfcc-border)!important;border-radius:var(--cfcc-radius);overflow:hidden;transition:border-color var(--cfcc-transition),box-shadow var(--cfcc-transition);background:var(--cfcc-white)!important}.cfcc-input-wrap:focus-within{border-color:var(--cfcc-primary)!important;box-shadow:0 0 0 3px rgb(0 114 206 / .12)}.cfcc-input-wrap.cfcc-has-error{border-color:var(--cfcc-danger)!important;box-shadow:0 0 0 3px rgb(231 76 60 / .12)}.cfcc-input{flex:1;min-width:0;padding:.7rem .9rem;border:none!important;background:transparent!important;font-family:"Rubik",sans-serif;font-size:1rem!important;color:var(--cfcc-text)!important;outline:none;-moz-appearance:textfield}.cfcc-input::-webkit-outer-spin-button,.cfcc-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cfcc-input--has-prefix{padding-left:0.5rem!important}.cfcc-input-prefix{display:flex;align-items:center;padding:0 .6rem 0 .9rem;font-size:0.95rem!important;font-weight:600;color:var(--cfcc-primary)!important;user-select:none}.cfcc-input-unit{display:flex;align-items:center;padding:0 .5rem;border-left:1px solid var(--cfcc-border)!important;background:var(--cfcc-muted-bg)!important;font-size:0.82rem!important;font-weight:500;color:var(--cfcc-muted)!important;white-space:nowrap;min-width:52px;justify-content:center}.cfcc-select-inline{border:none!important;background:transparent!important;font-family:"Rubik",sans-serif;font-size:0.82rem!important;color:var(--cfcc-muted)!important;font-weight:500;cursor:pointer;outline:none;padding:.2rem 1.4rem .2rem .3rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b9099' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 3px center!important;background-size:12px!important}.cfcc-input-wrap--select{border:1px solid var(--cfcc-border)!important;border-radius:var(--cfcc-radius);overflow:hidden;background:var(--cfcc-white)!important}.cfcc-select{width:100%;padding:.7rem 2.5rem .7rem .9rem;border:none!important;background:var(--cfcc-white)!important;font-family:"Rubik",sans-serif;font-size:0.9rem!important;color:var(--cfcc-text)!important;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%238b9099' d='M3 5l5 6 5-6z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important}.cfcc-err-msg{font-size:0.78rem!important;color:var(--cfcc-danger)!important;display:block;min-height:1rem;padding-left:.2rem}.cfcc-action-primary{margin-top:1.25rem}.cfcc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--cfcc-radius);font-family:"Rubik",sans-serif;font-size:0.9rem!important;font-weight:600;cursor:pointer;transition:all var(--cfcc-transition);text-decoration:none;white-space:nowrap;line-height:1}.cfcc-btn svg{width:16px;height:16px;flex-shrink:0}.cfcc-btn--primary{width:100%;padding:.9rem 1.4rem;background:var(--cfcc-primary)!important;color:var(--cfcc-white)!important;border:2px solid transparent!important;box-shadow:0 4px 14px rgb(0 114 206 / .3);font-size:1rem!important}.cfcc-btn--primary:hover{background:var(--cfcc-primary-deep)!important;box-shadow:0 6px 20px rgb(0 114 206 / .38);transform:translateY(-1px)}.cfcc-btn--primary:active{transform:translateY(0);box-shadow:0 2px 8px rgb(0 114 206 / .22)}.cfcc-btn--secondary{background:var(--cfcc-secondary)!important;color:var(--cfcc-white)!important;border:2px solid transparent!important;box-shadow:0 3px 10px rgb(0 168 107 / .25)}.cfcc-btn--secondary:hover{background:#008a58!important;box-shadow:0 5px 16px rgb(0 168 107 / .35);transform:translateY(-1px)}.cfcc-btn--outline{background:var(--cfcc-white)!important;color:var(--cfcc-primary)!important;border:2px solid var(--cfcc-primary)!important}.cfcc-btn--outline:hover{background:var(--cfcc-secondary-light)!important;transform:translateY(-1px)}.cfcc-btn--danger{background:var(--cfcc-danger)!important;color:var(--cfcc-white)!important;border:2px solid transparent!important;box-shadow:0 3px 10px rgb(231 76 60 / .25)}.cfcc-btn--danger:hover{background:#c0392b!important;box-shadow:0 5px 16px rgb(231 76 60 / .35);transform:translateY(-1px)}.cfcc-results-card{animation:cfcc-slide-up 0.4s cubic-bezier(.22,1,.36,1) both}@keyframes cfcc-slide-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.cfcc-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.cfcc-results-title{display:flex;align-items:center;gap:.5rem;font-size:1rem!important;font-weight:700;color:var(--cfcc-text)!important}.cfcc-results-title svg{width:18px;height:18px;stroke:var(--cfcc-secondary)!important}.cfcc-results-stamp{font-size:0.65rem!important;font-weight:700;letter-spacing:.1em;color:var(--cfcc-secondary)!important;border:2px solid var(--cfcc-secondary)!important;border-radius:4px;padding:2px 7px;opacity:.75;text-transform:uppercase}.cfcc-result-hero{text-align:center;background:linear-gradient(135deg,#e8f2ff 0%,#f0faf5 100%)!important;border:1px solid var(--cfcc-border)!important;border-radius:calc(var(--cfcc-radius) * 1.5);padding:1.5rem 1rem;margin-bottom:1.25rem}.cfcc-result-hero-label{font-size:0.78rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cfcc-muted)!important;margin-bottom:.35rem}.cfcc-result-hero-value{font-size:2.8rem!important;font-weight:800;color:var(--cfcc-primary)!important;letter-spacing:-.03em;line-height:1.15}.cfcc-result-hero-sub{font-size:0.82rem!important;color:var(--cfcc-muted)!important;margin-top:.4rem}.cfcc-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.cfcc-result-card{border-radius:var(--cfcc-radius);padding:.9rem;display:flex;gap:.65rem;align-items:flex-start;border:1px solid transparent!important;transition:transform var(--cfcc-transition),box-shadow var(--cfcc-transition)}.cfcc-result-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgb(0 0 0 / .08)}.cfcc-result-card--blue{background:var(--cfcc-blue-light)!important;border-color:#c5d9f7!important}.cfcc-result-card--green{background:var(--cfcc-green-light)!important;border-color:#b5e8d0!important}.cfcc-result-card--orange{background:var(--cfcc-orange-light)!important;border-color:#fad5a5!important}.cfcc-result-card--purple{background:var(--cfcc-purple-light)!important;border-color:#d5c4ee!important}.cfcc-result-card-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;background:rgb(255 255 255 / .6)!important}.cfcc-result-card-icon svg{width:16px;height:16px}.cfcc-result-card--blue .cfcc-result-card-icon svg{stroke:var(--cfcc-primary)!important}.cfcc-result-card--green .cfcc-result-card-icon svg{stroke:var(--cfcc-secondary)!important}.cfcc-result-card--orange .cfcc-result-card-icon svg{stroke:var(--cfcc-orange)!important}.cfcc-result-card--purple .cfcc-result-card-icon svg{stroke:var(--cfcc-purple)!important}.cfcc-result-card-body{min-width:0}.cfcc-result-card-label{font-size:0.72rem!important;font-weight:500;color:var(--cfcc-muted)!important;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;line-height:1.3}.cfcc-result-card-value{font-size:1.1rem!important;font-weight:700;color:var(--cfcc-text)!important;word-break:break-word}.cfcc-breakdown{background:var(--cfcc-muted-bg)!important;border-radius:var(--cfcc-radius);padding:1rem;margin-bottom:1rem}.cfcc-breakdown-title{font-size:0.8rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--cfcc-muted)!important;margin-bottom:.75rem}.cfcc-table{width:100%;border-collapse:collapse;border:none!important}.cfcc-table thead,.cfcc-table tbody,.cfcc-table tr,.cfcc-table th,.cfcc-table td{border:none!important}.cfcc-table tr:not(:last-child) td{border-bottom:1px solid var(--cfcc-border)!important}.cfcc-table td{padding:.45rem 0;font-size:0.875rem!important;vertical-align:top}.cfcc-table td:first-child{color:var(--cfcc-muted)!important;width:55%;font-weight:400}.cfcc-table td:last-child{color:var(--cfcc-text)!important;font-weight:600;text-align:right}.cfcc-tip-badge{display:flex;align-items:flex-start;gap:.6rem;background:#fffbea!important;border:1px solid #fde68a!important;border-radius:var(--cfcc-radius);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:0.82rem!important;color:#7c5c00!important;line-height:1.5}.cfcc-tip-badge:empty{display:none}.cfcc-action-buttons{display:flex;gap:.6rem;flex-wrap:wrap}.cfcc-action-buttons .cfcc-btn{flex:1;min-width:0}.cfcc-modal-overlay{position:fixed;inset:0;background:rgb(38 40 44 / .55)!important;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;backdrop-filter:blur(3px);animation:cfcc-fade-in 0.2s ease both}.cfcc-modal-overlay[hidden]{display:none}@keyframes cfcc-fade-in{from{opacity:0}to{opacity:1}}.cfcc-modal{background:var(--cfcc-white)!important;border-radius:calc(var(--cfcc-radius) * 2);padding:2rem 1.5rem 1.5rem;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px rgb(0 0 0 / .2);animation:cfcc-modal-in 0.28s cubic-bezier(.22,1,.36,1) both}@keyframes cfcc-modal-in{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.cfcc-modal-icon{width:52px;height:52px;background:#fff3f2!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.cfcc-modal-icon svg{width:26px;height:26px;stroke:var(--cfcc-danger)!important}.cfcc-modal-title{font-size:1.1rem!important;font-weight:700;color:var(--cfcc-text)!important;margin-bottom:.5rem}.cfcc-modal-body{font-size:0.875rem!important;color:var(--cfcc-muted)!important;line-height:1.55;margin-bottom:1.5rem}.cfcc-modal-actions{display:flex;gap:.6rem}.cfcc-modal-actions .cfcc-btn{flex:1}.cfcc-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(80px);background:#1e2228!important;color:var(--cfcc-white)!important;font-size:0.875rem!important;font-weight:500;padding:.7rem 1.4rem;border-radius:50px;box-shadow:0 8px 24px rgb(0 0 0 / .22);z-index:2000;opacity:0;transition:opacity 0.28s ease,transform 0.28s cubic-bezier(.22,1,.36,1);pointer-events:none;white-space:nowrap;max-width:calc(100vw - 2rem);text-align:center}.cfcc-toast--visible{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:480px){.cfcc-title{font-size:1.25rem!important}.cfcc-result-hero-value{font-size:2.2rem!important}.cfcc-results-grid{grid-template-columns:1fr}.cfcc-action-buttons{flex-direction:column}.cfcc-action-buttons .cfcc-btn{flex:none;width:100%}.cfcc-card{padding:1.1rem}.cfcc-modal-actions{flex-direction:column}}@media (min-width:769px){.cfcc-title{font-size:1.75rem!important}}:focus-visible{outline:2px solid var(--cfcc-primary);outline-offset:2px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cfcc-primary);outline-offset:2px;border-radius:var(--cfcc-radius)}
