:root{--bg: #05070C;--card: #12151F;--card-soft: #171B27;--border: #232838;--border-dashed: #262c3d;--text: #F3F4F8;--muted: #8890A6;--faint: #565D71;--pink: #E0409A;--pink-soft: #C93A8C;--blue: #4F8FE8;--green: #6FCF6F;--purple: #8B7CF6;--orange: #F2A93B;--teal: #45C4B0;--red: #E5674F}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(ellipse 900px 500px at 15% -10%,rgba(224,64,154,.06),transparent),radial-gradient(ellipse 700px 500px at 100% 0%,rgba(79,143,232,.06),transparent),var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.panel-title{font-family:Poppins,sans-serif}a{color:inherit;text-decoration:none}.page-shell{min-height:100%;padding:40px 24px 80px}.page-inner{max-width:1180px;margin:0 auto}.masthead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.masthead-left{display:flex;align-items:center;gap:16px}.mark{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--pink),var(--purple));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#fff}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);font-weight:700;margin-bottom:4px}h1{font-weight:700;font-size:28px;color:var(--text)}.masthead-right{text-align:right}.ledger-count{font-size:12.5px;color:var(--muted)}.ledger-count b{color:#fff;font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid{grid-template-columns:1fr}}.tool-card{position:relative;display:block;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 20px 18px 22px;overflow:hidden;transition:transform .15s ease,border-color .15s ease,background .15s ease}.tool-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent, var(--pink))}.tool-card:hover{transform:translateY(-3px);border-color:var(--accent, var(--pink));background:var(--card-soft)}.tool-card-code{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent, var(--pink));margin-bottom:10px}.tool-card h3{font-size:18px;font-weight:600;margin-bottom:6px;color:var(--text)}.tool-card p{font-size:13.5px;color:var(--muted);line-height:1.4}.tool-header{margin-bottom:28px}.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 14px;margin-bottom:22px;transition:color .15s,border-color .15s}.back-btn:hover{color:#fff;border-color:var(--pink)}.tool-code{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--pink);margin-bottom:8px}.tool-title{font-size:28px;font-weight:700;color:#fff;margin-bottom:6px}.tool-subtitle{font-size:14.5px;color:var(--muted)}.panel-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px 28px}.panel-title{font-size:20px;font-weight:700;color:var(--pink);margin-bottom:22px}.panel-head-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}.panel-head-row .panel-title{margin-bottom:0}.panel-note{font-size:13px;color:var(--muted)}.inputs-card{margin-bottom:20px}.inputs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 32px}@media (max-width:700px){.inputs-grid{grid-template-columns:1fr}}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:820px){.results-grid{grid-template-columns:1fr}}.field{margin-bottom:4px}.field-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.field-head label,.select-label{font-size:13px;color:var(--muted);font-weight:500;display:block;margin-bottom:10px}.input-combo{display:flex;align-items:center;gap:6px;background:var(--card-soft);border:1px solid var(--border);border-radius:8px;padding:6px 12px;flex-shrink:0}.io-affix{font-size:12.5px;color:var(--muted);font-weight:600}.input-combo input[type=number]{width:100px;background:transparent;border:none;outline:none;color:#fff;font-size:14.5px;font-weight:600;text-align:right;font-family:Inter,sans-serif;-moz-appearance:textfield}.input-combo input[type=number]::-webkit-outer-spin-button,.input-combo input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-combo:focus-within{border-color:var(--pink)}input[type=range]{width:100%;accent-color:var(--pink)}select,input[type=date]{width:100%;background:var(--card-soft);border:1px solid var(--border);color:#fff;font-family:Inter,sans-serif;font-size:14.5px;font-weight:500;padding:11px 12px;border-radius:8px;outline:none}select:focus,input[type=date]:focus{border-color:var(--pink)}.donut-wrap{position:relative;margin:4px auto 24px}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-value{font-size:26px;font-weight:700;color:#fff}.donut-label{font-size:13px;color:var(--muted);margin-top:2px}.breakdown-item{background:var(--card-soft);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;margin-top:12px}.breakdown-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:4px}.breakdown-meta{font-size:12.5px;color:var(--faint)}.breakdown-value{font-size:17px;font-weight:700;color:#fff}.summary-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px dashed var(--border-dashed)}.summary-row:last-child{border-bottom:none}.summary-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-label{flex:1;font-size:15.5px;font-weight:600;color:#fff}.summary-value{font-size:15px;font-weight:700;color:#fff}.summary-row--total .summary-label,.summary-row--total .summary-value{font-size:17px}.tool-note{margin-top:20px;font-size:12.5px;color:var(--faint);line-height:1.6;padding-top:18px;border-top:1px dashed var(--border-dashed)}footer.app-footer{text-align:center;margin-top:48px;color:var(--faint);font-size:11.5px}
