:root{--card:#fff;--accent:#0A75EB;--bg:#FAFBFC;--menu-selected:#E6F1FF;--text-body:#7C8291;--text-header:#2F3546;--input-background:#F7F8FC;--neutral:#7C8291;--navbar-bg:#F3F4F7;--neutral-fill:#ECEFF4;--neutral-border:#B7C2D0;--neutral-text:#8A93A3;--error:#F34336;--font-size-xsm:10px;--font-size-sm:12px;--font-size-md:16px;--font-size-lg:24px;--border-radius:8px;--header-height: 68px;--card-max:500px;--form-col-icon:24px;--form-col-label:220px;--form-col-input:1fr}html,body{margin:0;padding:0;background:var(--bg);font-family:Open Sans,sans-serif;scroll-behavior:smooth;overflow-x:hidden;overflow-y:auto;height:100%}.container,.main-wrap,.content{overflow:visible;max-height:none;height:auto}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-wrap{flex:1;max-width:1120px;margin:0 auto;padding:16px 12px;display:grid;gap:24px;align-items:start}.main-wrap.with-side{grid-template-columns:220px minmax(0,1fr)}.main-wrap.no-side{grid-template-columns:minmax(0,1fr)}.content{min-width:0}.app-header{background:var(--navbar-bg);width:100%}.header-inner{width:100%;height:56px;display:flex;align-items:center;gap:16px;padding:0 10px}.header-inner.no-actions{justify-content:center}.header-inner.no-actions .accent-title{text-align:center}.accent-title{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;font-weight:600;font-size:var(--font-size-lg);color:var(--accent)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding-right:20px}.app-header .nav-actions button{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;font-size:var(--font-size-sm);font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:.5rem 1rem;border-radius:9999px;border:2px solid var(--neutral);background:transparent;color:var(--neutral);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s,color .15s,transform .05s}.app-header .nav-actions button:active{transform:translateY(1px)}.app-header .nav-actions button img{width:14px;height:14px;display:block}.app-header .nav-actions button:hover{box-shadow:0 0 0 2px var(--card) inset,0 0 0 2px var(--neutral)}.app-header .nav-actions button.accent-outline{border-color:var(--accent);color:var(--accent)}.app-header .nav-actions button.accent-outline:hover{box-shadow:0 0 0 2px var(--card) inset,0 0 0 2px var(--accent)}.app-header .nav-actions button.accent-filled{border-color:var(--accent);background:var(--accent);color:#fff}.app-header .nav-actions button:disabled{cursor:not-allowed;opacity:.85;border-color:var(--neutral-border);color:var(--neutral-text);background:var(--neutral-fill);box-shadow:none}.app-header .nav-actions button.no-hover{cursor:default;pointer-events:none}.app-header .nav-actions button.no-hover:hover{box-shadow:none!important}.app-header .nav-actions button.no-hover:active{transform:none!important}.app-footer{background:var(--navbar-bg);border-top:1px solid var(--neutral-border);box-shadow:0 -6px 24px #1018280f,0 -2px 6px #1018280a}.app-footer .bar{height:56px;padding:0 16px;margin:0;max-width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.app-footer .bar:after{content:""}.footer-logo{height:60px;object-fit:contain;display:block}.app-footer .copy{justify-self:center;text-align:center;font-size:var(--font-size-sm);color:var(--text-body);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;justify-content:center}.app-footer .copyright-text{white-space:nowrap}.app-footer .separator{display:inline}.app-footer .terms-link{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font:inherit;white-space:nowrap}.app-footer .terms-link:hover{opacity:.8}.btn{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;font-size:var(--font-size-sm);font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:.5rem 1rem;border-radius:9999px;border:2px solid var(--neutral);background:transparent;color:var(--neutral);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s,color .15s,transform .05s}.btn-back{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;font-size:var(--font-size-xsm);font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;height:30px;padding:.5rem .7rem;border-radius:9999px;border:2px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s,color .15s,transform .05s}.btn-back:hover{box-shadow:0 0 0 2px var(--card) inset,0 0 0 2px var(--accent)}.btn:hover{box-shadow:0 0 0 2px var(--card) inset,0 0 0 2px var(--neutral)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.85;border-color:var(--neutral-border);color:var(--neutral-text);background:var(--neutral-fill)}.btn-accent-outline{border-color:var(--accent);color:var(--accent)}.btn-accent-outline:hover{box-shadow:0 0 0 2px var(--card) inset,0 0 0 2px var(--accent)}.btn-accent-filled{border-color:var(--accent);background:var(--accent);color:#fff}.btn-center{display:flex;margin:16px auto 0}.add-btn{justify-self:start;border:2px solid var(--accent);color:var(--accent);background:transparent;border-radius:9999px;padding:6px;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;width:130px}.side-menu{position:fixed;top:var(--header-height);left:10px;align-self:start;z-index:10}.side-menu_list{list-style:none;margin:0;padding:8px;background:var(--card);border-radius:12px;box-shadow:0 6px 24px #1018280f,0 2px 6px #1018280a;display:flex;flex-direction:column;gap:6px}.side-menu_link{display:block;text-decoration:none;padding:10px 12px;border-radius:10px;color:var(--text-header);background:transparent;transition:background-color .15s,color .15s;font-weight:600;font-size:var(--font-size-sm)}.side-menu_link:hover{background:#f6f8fc}.side-menu_link.is-active{background:var(--menu-selected);color:var(--accent)}.side-menu_handle{display:none;position:fixed;left:8px;top:calc(56px + 50%);transform:translateY(-50%);z-index:30;width:28px;height:28px;border-radius:8px;border:1px solid var(--neutral-border);background:#fff;box-shadow:0 2px 8px #1018281f;cursor:pointer}.side-menu_handle:before{content:"";display:block;width:0;height:0;margin:auto;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--text-body);transform:translate(1px)}.side-menu_handle.is-open:before{transform:rotate(180deg)}.section{scroll-margin-top:var(--header-height)}.form-card,.section-card{background:var(--card);border-radius:12px;box-shadow:0 6px 24px #1018280f,0 2px 6px #1018280a;padding:20px 24px;max-width:var(--card-max);margin:24px auto}.form-grid{display:grid;grid-template-columns:var(--form-col-icon) var(--form-col-label) var(--form-col-input);column-gap:10px;row-gap:14px;margin:0 auto}.form-row{display:contents}.form-icon{grid-column:1;display:flex;align-items:center;justify-content:center;height:100%}.form-label{grid-column:2;display:flex;align-items:center;gap:8px;color:var(--text-header);font-size:var(--font-size-sm);font-weight:600}.form-control{grid-column:3;width:100%}.form-input,.form-select{width:100%;height:36px;box-sizing:border-box;border-radius:10px;background:var(--input-background);border:1px solid #E7E7F1;outline:none;padding:0 12px;color:var(--text-header);font-size:var(--font-size-sm)}.form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2399A2B3' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:28px}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0a75eb1f}input[type=number].form-input::-webkit-inner-spin-button,input[type=number].form-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].form-input{-moz-appearance:textfield}.desc-toggle{--size:20px;width:var(--size);height:var(--size);border:1px solid var(--neutral-border);border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.desc-toggle:before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-body);transition:transform .18s ease}.desc-toggle[aria-expanded=true]:before{transform:rotate(180deg)}.field-desc{grid-column:2 / -1;background:var(--input-background);color:var(--text-body);font-size:var(--font-size-sm);border-radius:10px;border-left:3px solid var(--accent);overflow:hidden;max-height:0;opacity:0;transform:translateY(-4px);padding:0 12px;margin:0;transition:max-height .28s ease,opacity .18s ease,transform .18s ease,padding .18s ease,margin .18s ease}.field-desc.is-open{max-height:300px;opacity:1;transform:none;padding:10px 12px;margin:-2px 0 10px}.table4{display:grid;grid-template-columns:20px 1fr 130px 120px;gap:12px;align-items:center}.table4.head{font-size:var(--font-size-sm);color:var(--text-body);margin-bottom:8px}.table4 .th{font-weight:700;color:var(--text-header)}.table4.row{padding:8px 0;position:relative}.row-caret{width:18px;height:18px;border-radius:50%;border:1px solid var(--neutral-border);background:#fff;position:relative}.row-caret:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-body)}.cell-subhead{display:none}.cell-stepper{display:flex;align-items:center;gap:2px}.cell-stepper>button{width:34px;height:34px;border-radius:10px;border:1px solid var(--neutral-border);background:#fff;cursor:pointer}.cell-stepper .cell-input.num{width:50px;text-align:center}.cell-input{height:36px;border-radius:10px;background:var(--input-background);border:1px solid #E7E7F1;color:var(--text-header);font-size:var(--font-size-sm);padding:0 12px;width:100%;box-sizing:border-box}.cell-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0a75eb1f}.cell-input.money{text-align:center;width:100%}.table4 .cell-input.text{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 0 2px;height:auto;line-height:1.4;color:var(--text-header);font-weight:600}.table4 .cell-input.text:focus{outline:none!important;border:0!important;box-shadow:none!important}.row-delete{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;background:transparent;color:var(--neutral);font-size:18px;cursor:pointer}.table4.foot{margin-top:12px;align-items:center}.total-label{justify-self:end;font-weight:700;font-size:var(--font-size-md);color:var(--text-header)}.total-val{justify-self:end;font-weight:700}.section-card{overflow-x:hidden}.error-message{color:var(--error);font-size:.75rem;margin-top:2px;display:block}.cell-input.text.error{border-color:var(--error)!important}.label-with-error{display:flex;flexDirection:column;width:100%}.custom-note{margin-top:12px;padding:10px 12px;background:var(--input-background);color:var(--text-body);font-size:var(--font-size-sm);border-radius:8px;line-height:1.5}.eula-email-section{margin-top:24px}.eula-email-label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:var(--text-header)}.eula-email-input{width:100%;max-width:400px}.eula-content-box{margin-top:24px;padding:16px;background:var(--input-background);border-radius:8px}.results-wrap{max-width:1120px;margin:0 auto}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:8px 0 18px}.kpi-card{background:var(--card);border-radius:12px;box-shadow:0 6px 24px #1018280f,0 2px 6px #1018280a;padding:10px 12px;min-height:70px;display:flex;flex-direction:column;justify-content:center}.kpi-label{font-size:var(--font-size-xsm);color:var(--text-header);line-height:1.2}.kpi-sublabel{font-size:var(--font-size-xsm);color:var(--text-body);font-style:italic;line-height:1.2;margin-top:2px}.kpi-value{font-weight:700;color:var(--text-header);margin-top:4px;font-size:14px}.results-grid{display:grid;align-items:start;gap:18px;grid-template-columns:1fr 1fr;grid-template-areas:"lifetime initial" "lifetime total"}.results-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.stack{display:grid;gap:18px;align-content:start;min-width:0}.chart-lifetime{grid-area:lifetime}.chart-initial{grid-area:initial}.chart-total{grid-area:total}.chart-card{display:flex;flex-direction:column;background:var(--card);border-radius:12px;box-shadow:0 6px 24px #1018280f,0 2px 6px #1018280a;padding:14px 16px 10px;min-width:0}.chart-title{font-size:var(--font-size-md);font-weight:700;color:var(--text-header);margin:0 0 8px}.pie-wrap{position:relative;width:100%;flex:0 0 auto}.pie-lg{height:440px}.pie-sm{height:240px}.donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--text-header);text-align:center;padding:0 8px}.bar-wrap{position:relative;width:100%;margin:12px 0;min-width:0}.bar-total{text-align:center;font-weight:700;font-size:var(--font-size-md);color:var(--text-header);margin:10px 0 4px;padding:8px;background:var(--input-background);border-radius:var(--border-radius)}.custom-legend{list-style:none;padding:8px 0 0;margin:auto 0 0;display:grid;grid-template-columns:1fr;gap:6px;color:var(--text-body);font-size:var(--font-size-sm)}.custom-legend li{display:flex;align-items:center}.legend-color-box{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:8px;vertical-align:middle}.scroll-to-top-fab{position:fixed;bottom:24px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--bg);border:1px solid var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0a75eb4d,0 2px 6px #0a75eb33;transition:all .3s ease;z-index:1000;animation:fadeInUp .3s ease}.scroll-to-top-fab:hover{box-shadow:0 6px 16px #0a75eb66,0 3px 8px #0a75eb4d;transform:translateY(-2px)}.scroll-to-top-fab:active{transform:translateY(0);box-shadow:0 2px 8px #0a75eb4d}.scroll-to-top-fab img{width:18px;height:18px;display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.pie-lg{height:300px}}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:960px){.main-wrap.with-side,.main-wrap.no-side{grid-template-columns:1fr}.side-menu{position:fixed;top:56px;left:0;height:calc(100vh - 56px);width:260px;padding:12px;background:var(--bg);box-shadow:8px 0 24px #10182814;transform:translate(-110%);transition:transform .25s ease}.side-menu.is-open{transform:translate(0)}.side-menu_handle{display:block}.results-grid{grid-template-columns:1fr;grid-template-areas:"lifetime" "initial" "total"}}@media(max-width:720px){.form-grid{grid-template-columns:var(--form-col-icon) minmax(0,1fr);column-gap:14px;row-gap:12px}.form-icon{grid-column:1;display:flex;align-items:center;justify-content:center}.form-label{grid-column:2}.form-control{grid-column:2;width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.app-header .nav-actions button{width:38px;height:38px;padding:0;justify-content:center}.app-header .nav-actions .btn-text,.app-header .nav-actions .nav-btn_label{display:none}.scroll-to-top-fab{width:48px;height:48px;bottom:16px;right:16px}.scroll-to-top-fab img{width:20px;height:20px}.footer-logo{height:40px}.app-footer .copy{font-size:var(--font-size-xsm);flex-direction:column;align-items:flex-start;gap:.5rem}.app-footer .separator{display:none}.bar-total{font-size:var(--font-size-sm)}}@media(max-width:560px){.table4{grid-template-columns:16px 1fr 1fr;column-gap:10px;row-gap:8px;align-items:start}.table4.head{display:none}.table4.row{padding:10px 0 14px;border-bottom:1px dashed #eef1f6}.table4.row:last-child{border-bottom:0}.table4 .cell-item,.table4 .cell-input.text{grid-column:2 / 4;width:100%!important;white-space:normal;overflow:visible;text-overflow:clip;font-weight:600}.table4 .cell-stepper{grid-column:2 / 3;justify-self:stretch}.table4 .cell-input.money{width:100%}.field-desc{grid-column:2 / -1}.cell-stepper>button{width:32px;height:32px;border-radius:8px}.cell-subhead{display:block;grid-column:2 / 3;align-self:end;margin:6px 0 4px;font-size:var(--font-size-xsm);line-height:1.1;color:var(--text-header);white-space:normal}.cell-subhead.freq{grid-column:2 / 3}.cell-subhead.cost{grid-column:3 / 4}.cell-subhead.oop-subhead{grid-column:2 / 4}.row-delete{right:4%;top:72%}.row-delete.oop-delete{top:69%}.pie-lg{height:280px}.pie-sm{height:220px}}@media(max-width:400px){.row-delete{right:0;top:72%}.kpi-card{padding:8px}.chart-card{padding:12px}}
