:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f2f5fb;color:#1a2740}.app{width:100%;max-width:920px;margin:0 auto;padding:24px 16px 32px}.card{background:#fff;border:1px solid #e7ebf3;border-radius:14px;padding:24px;box-shadow:0 10px 28px #14233c14}h1{margin:0;font-size:1.75rem;line-height:1.2;color:#14213d}.subtitle{margin:10px 0 24px;color:#52607a}.action-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.clear-button{border:1px solid #cfd8e8;border-radius:10px;background:#fff;color:#24324d;padding:8px 12px;font-weight:600;cursor:pointer}.clear-button:hover{border-color:#8ea9ff}.export-button{border:1px solid #b8c8e8;border-radius:10px;background:#edf3ff;color:#1e3a77;padding:8px 12px;font-weight:600;cursor:pointer}.export-button:hover{border-color:#7ca0f0}.load-button{display:inline-block;border:1px solid #c8d8e8;border-radius:10px;background:#f5f9ff;color:#1e3a77;padding:8px 12px;font-weight:600;cursor:pointer;text-align:center}.load-button:hover{border-color:#8eb0f0;background:#eef5ff}.section-title{margin:14px 0 10px;font-size:1.1rem;color:#1a2a49}.hint{margin:0 0 14px;color:#5b6a85;font-size:.9rem}.import-box{border:1px solid #d9e3f8;border-radius:10px;background:#f6f9ff;padding:12px;margin-bottom:12px}.import-box h3{margin:0;font-size:.98rem;color:#1b2a48}.import-box p{margin:8px 0;color:#475978;font-size:.9rem}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.file-input-wrap{align-self:end}.import-status{margin:10px 0 0;color:#0f6b3d;font-weight:600}.import-error{margin:10px 0 0;color:#9b1021;font-weight:600}.elements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:6px}.element-card{border:1px solid #e1e7f5;border-radius:10px;background:#f9fbff;padding:12px}.element-card h3{margin:0 0 10px;font-size:.98rem;color:#1b2a48}.mini-grid{display:grid;gap:9px}.mini-grid label{font-size:.88rem}.mini-grid input[type=number]{padding:8px 10px;font-size:.95rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}label{display:flex;flex-direction:column;gap:8px;color:#24324d;font-size:.95rem}input[type=number],input[type=text]{border:1px solid #cfd8e8;border-radius:10px;padding:10px 12px;font-size:1rem;color:#0f1a31;background:#fff}select{border:1px solid #cfd8e8;border-radius:10px;padding:10px 12px;font-size:.95rem;color:#0f1a31;background:#fff}input[type=file]{border:1px dashed #b8c8e8;border-radius:10px;padding:8px;background:#fff}input[type=number]:focus{outline:2px solid #8ea9ff;outline-offset:0;border-color:#8ea9ff}input[type=text]:focus,select:focus,input[type=file]:focus{outline:2px solid #8ea9ff;outline-offset:0;border-color:#8ea9ff}.switch-label{align-self:end;flex-direction:row;align-items:center;gap:10px;font-weight:600;padding-bottom:10px}.results{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.results article{background:#f6f8fd;border:1px solid #e1e7f5;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}.results span{font-size:.85rem;color:#5c6a84}.results strong{font-size:1.1rem;color:#18233c}.deductions-breakdown{margin-top:18px;border:1px solid #e1e7f5;border-radius:10px;background:#fcfdff;padding:14px}.deductions-breakdown h3{margin:0 0 10px;font-size:1rem;color:#1b2a48}.deductions-breakdown ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.deductions-breakdown li{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.93rem;color:#2e3c5a}.deductions-breakdown li strong{color:#16233f}.deductions-breakdown li.total{border-top:1px solid #dce5f5;margin-top:4px;padding-top:8px;font-weight:700}.balance{margin-top:18px;border-radius:10px;padding:14px;font-size:1.05rem;font-weight:600}.balance.positive{background:#ebfbf2;border:1px solid #b8e6cc;color:#0f6b3d}.balance.negative{background:#fff1f2;border:1px solid #ffcfd4;color:#9b1021}.disclaimer{margin:14px 0 0;font-size:.86rem;color:#6a778f}
