html{font-size:16px}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-weight:400;line-height:1.55;color:#1a202c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-orange: #ff9f1c;--color-peach: #ffbf69;--color-white: #ffffff;--color-mint: #e8f7f6;--color-teal: #00a99d;--color-teal-hover: #008f84;--color-page-bg: #f0f3f5;--color-card-border: #e5e9ec;--color-danger: #e53935;--color-dark: #1e293b;--color-gray: #64748b;--color-label: #475569}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-page-bg);position:relative}#root{max-width:1080px;margin:0 auto;padding:1.125rem clamp(.75rem,3vw,1.25rem);padding-bottom:max(1.125rem,env(safe-area-inset-bottom));padding-left:max(clamp(.75rem,3vw,1.25rem),env(safe-area-inset-left));padding-right:max(clamp(.75rem,3vw,1.25rem),env(safe-area-inset-right));padding-top:max(1.125rem,env(safe-area-inset-top));position:relative;z-index:1}.app{color:var(--color-dark);max-width:32rem;margin:0 auto}.screen-header{display:flex;align-items:flex-start;margin-bottom:.875rem;padding-right:env(safe-area-inset-right)}.screen-header-text{flex:1;min-width:0;text-align:left}.screen-title{margin:0 0 .25rem;font-size:clamp(1.05rem,4vw,1.25rem);font-weight:700;color:var(--color-teal);letter-spacing:-.02em;line-height:1.25}.subtitle{margin:0;font-size:.75rem;line-height:1.45;color:var(--color-gray);font-weight:400}.section-card{background:var(--color-white);border:1px solid var(--color-card-border);border-radius:10px;padding:.75rem .8125rem;margin-bottom:.625rem;box-shadow:0 1px 2px #0f172a0a}.section-title{display:flex;align-items:center;gap:.45rem;margin:0 0 .625rem;font-size:.9375rem;font-weight:700;color:var(--color-teal)}.section-title svg{flex-shrink:0;opacity:.95}.stack-gap{display:flex;flex-direction:column;gap:.625rem}.field{display:flex;flex-direction:column;gap:.3125rem}.field.full{width:100%}.field-label{font-size:.6875rem;font-weight:600;color:var(--color-label);letter-spacing:.01em}.two-col-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .625rem}@media(max-width:380px){.two-col-row{grid-template-columns:1fr}}.wrap-date{position:relative;display:block}.wrap-date .field-input{padding-right:2rem}.wrap-date .date-icon{position:absolute;right:.55rem;top:50%;translate:0 -50%;pointer-events:none;color:var(--color-gray);opacity:.75}.field-input,.section-card select.field-input{width:100%;box-sizing:border-box;min-height:2.25rem;padding:.4375rem .5625rem;border:1px solid var(--color-card-border);border-radius:8px;font-size:.8125rem;font-family:inherit;font-weight:500;color:var(--color-dark);background:var(--color-white);transition:border-color .15s ease,box-shadow .15s ease}.section-card select.field-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;padding-right:1.875rem}.field-input:focus,.section-card select.field-input:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 2px #00a99d1f}.field-input[type=date]{position:relative}.field-input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.date-gap-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;border-radius:8px;background:var(--color-mint);border:1px solid rgba(0,169,157,.2);font-size:.6875rem;line-height:1.4;color:var(--color-label)}.date-gap-banner strong{color:var(--color-teal);font-weight:700}.date-gap-banner svg{flex-shrink:0;margin-top:.0625rem;color:var(--color-teal)}.installment-list{display:flex;flex-direction:column;gap:.5rem}.installment-card{border:1px solid var(--color-card-border);border-radius:10px;padding:.5rem;background:#fafbfb}.installment-card.is-open{border-color:#00a99d59;background:var(--color-white)}.installment-card-top{display:grid;grid-template-columns:auto 1fr auto auto;align-items:flex-start;gap:.5rem}.installment-num{display:inline-flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:50%;background:var(--color-teal);color:var(--color-white);font-size:.6875rem;font-weight:800;flex-shrink:0}.installment-fields{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;min-width:0}@media(max-width:400px){.installment-fields{grid-template-columns:1fr}}.installment-fields .installment-mini-label{font-size:.625rem;font-weight:600;color:var(--color-label);margin-bottom:.1875rem}.installment-card-actions{display:flex;flex-direction:column;gap:.25rem;align-items:center}.btn-icon{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;background:transparent;border-radius:8px;cursor:pointer;touch-action:manipulation;box-shadow:none;text-transform:none;letter-spacing:0;min-height:unset;min-width:unset}.btn-icon:hover:not(:disabled){transform:none;box-shadow:none;border:none}.btn-expand{color:var(--color-teal);padding:.25rem}.btn-expand svg{display:block;transition:transform .2s ease}.btn-expand.is-open svg{transform:rotate(180deg)}.btn-trash{color:var(--color-danger);padding:.25rem}.btn-trash:disabled{opacity:.35;cursor:not-allowed}.installment-info{margin:.5rem 0 0;padding:.45rem .5rem;font-size:.6875rem;line-height:1.45;color:var(--color-label);background:#00a99d12;border-radius:6px;border-left:3px solid var(--color-teal)}.btn-add-installment{width:100%;margin-top:.25rem;padding:.5625rem .75rem;border:1px dashed var(--color-teal);border-radius:8px;background:transparent;color:var(--color-teal);font-size:.75rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;letter-spacing:.01em;text-transform:none;transition:background .15s ease,border-color .15s ease;touch-action:manipulation}.btn-add-installment:hover:not(:disabled){background:#00a99d0f;transform:none;box-shadow:none;border:1px dashed var(--color-teal-hover)}.btn-add-installment:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.primary-actions{margin:.75rem 0 0}.btn-generate-schedule{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.75rem 1rem;border:none;border-radius:10px;background:var(--color-teal);color:var(--color-white);font-size:.8125rem;font-weight:700;letter-spacing:.015em;text-transform:none;cursor:pointer;box-shadow:0 2px 8px #00a99d47;touch-action:manipulation;transition:background .15s ease,box-shadow .15s ease}.btn-generate-schedule:hover:not(:disabled){background:var(--color-teal-hover);border:none;transform:translateY(-1px);box-shadow:0 4px 14px #00a99d52}.btn-generate-schedule:active:not(:disabled){transform:translateY(0)}.btn-generate-schedule svg{flex-shrink:0}.summary-rows{display:flex;flex-direction:column;gap:.5rem}.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.78125rem;color:var(--color-label)}.summary-row .summary-label{font-weight:500}.summary-row .summary-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-dark);text-align:right}.summary-row.highlight .summary-value{font-size:.9375rem;color:var(--color-teal)}.summary-disclaimer{margin:.5rem 0 0;font-size:.625rem;line-height:1.45;color:var(--color-gray)}.alert-error{margin:.5rem 0 0;padding:.5rem .625rem;border-radius:8px;font-size:.75rem;font-weight:600;line-height:1.4;border:1px solid rgba(229,57,53,.45);background:#e539350f;color:var(--color-danger)}.after-form-spacer{margin-top:.875rem}.table-container{margin-top:.75rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.table-header h2{margin:0;font-size:.9375rem;color:var(--color-teal);font-weight:700;letter-spacing:-.02em}.download-actions{display:flex;gap:.375rem;flex-wrap:wrap}.download-button.btn-secondary-outline{min-width:auto;padding:.4rem .625rem;font-size:.6875rem;font-weight:700;background:var(--color-white);border:1px solid var(--color-teal);color:var(--color-teal);box-shadow:none;letter-spacing:.02em}.download-button.btn-secondary-outline:disabled{opacity:.45;cursor:not-allowed}.download-button.btn-secondary-outline:hover:not(:disabled){background:#00a99d0f;border-color:var(--color-teal-hover);color:var(--color-teal-hover);transform:none}.table-wrap{overflow-x:auto;background:var(--color-white);border-radius:10px;border:1px solid var(--color-card-border);box-shadow:0 1px 3px #0f172a0d;overflow-y:hidden;-webkit-overflow-scrolling:touch}.table-wrap table{display:table;table-layout:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.6875rem}th,td{border:none;padding:.4375rem .5rem;text-align:right}td.left,th.left{text-align:left;min-width:5rem;white-space:nowrap}th{background:var(--color-mint);color:var(--color-teal);font-weight:800;text-transform:uppercase;font-size:.58rem;letter-spacing:.06em;position:sticky;top:0;z-index:2;border-bottom:1px solid rgba(0,169,157,.25)}tbody tr{border-bottom:1px solid #eef1f4}tbody tr:hover{background:#00a99d0d}tbody tr:nth-child(2n){background:#f8fafce6}tbody tr:nth-child(2n):hover{background:#00a99d0f}tbody td{color:var(--color-dark);font-weight:500}tfoot tr{background:#ff9f1c14;font-weight:700;border-top:2px solid var(--color-orange)}tfoot td{padding:.5rem;color:var(--color-orange);font-size:.75rem}tfoot td.compact-footer{padding:.45rem;font-size:.6875rem}.form-layout-wide{display:flex;flex-direction:column;gap:0}@media(min-width:900px){.app{max-width:52rem}.form-layout-wide{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;align-items:start}.form-layout-wide>.stack-gap{min-width:0}}
