@charset "UTF-8";:root{--ink: #242424;--ink-soft: #505050;--ink-muted: #8b8b8b;--paper: #f5f5f5;--paper-dark: #e5e5e5;--accent: #2b579a;--accent-light: #3a6bc5;--accent-pale: #eef3fb;--gold: #b8860b;--gold-pale: #fdf6e3;--white: #ffffff;--input-border: #d1d1d1;--accent-glow: rgba(43, 87, 154, .18);--danger: #c4314b;--danger-pale: #fdf0f2;--error: #c4314b;--orange: #ca8a04;--orange-pale: #fefce8;--sidebar-bg: #1b1b3a;--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active: rgba(255, 255, 255, .14);--radius: 4px;--radius-lg: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}h1,h2,h3{font-family:Spectral,Georgia,serif;font-weight:600;line-height:1.3}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light)}input,select,textarea{font-family:inherit;font-size:.9375rem}select{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 24 24' fill='none' stroke='%234a4a46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:500;transition:background-color .15s,border-color .15s}.btn--primary{background:var(--accent);color:var(--white)}.btn--primary:hover:not(:disabled){background:var(--accent-light);color:var(--white)}.btn--secondary{background:transparent;color:var(--ink-soft);border:1px solid var(--input-border)}.btn--secondary:hover:not(:disabled){background:var(--paper);border-color:var(--ink-muted)}.btn--danger{background:var(--danger);color:var(--white)}.btn--danger:hover:not(:disabled){background:#b34545}.btn--danger-outline{background:transparent;color:var(--danger);border:1px solid var(--input-border)}.btn--danger-outline:hover:not(:disabled){background:var(--danger-pale);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--full{width:100%}.btn--ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--paper-dark)}.btn--ghost:hover:not(:disabled){background:var(--paper);border-color:var(--ink-muted)}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.25rem;min-width:0}.form-label{font-size:.875rem;font-weight:500;color:var(--ink-soft)}.form-input{padding:.5rem .75rem;border:1px solid var(--input-border);border-radius:var(--radius);background:var(--white);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-input::placeholder{color:var(--ink-muted);opacity:.55}.form-input:hover:not(:focus):not(:disabled){border-color:var(--ink-muted)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input.ng-touched.ng-invalid{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-pale)}.input-euro{position:relative;display:flex}.input-euro .form-input{flex:1;padding-right:2rem}.input-euro:after{content:"\20ac";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--ink-muted);font-size:.875rem;pointer-events:none}.form-hint{font-size:.8125rem;color:var(--ink-muted)}.form-error{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--danger)}app-custom-select.ng-touched.ng-invalid .cs__trigger{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-pale)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius);font-size:.75rem;font-weight:500;line-height:1.6}.badge--green{background:var(--accent-pale);color:var(--accent)}.badge--gold{background:var(--gold-pale);color:var(--gold)}.badge--muted{background:var(--paper-dark);color:var(--ink-muted)}.badge--danger{background:var(--danger-pale);color:var(--danger)}.badge--orange{background:var(--orange-pale);color:var(--orange)}.badge--blue{background:#e8f0fa;color:#2a5aa5}.badge--red{background:var(--danger-pale);color:var(--danger)}.badge--accent{background:#e8f0fa;color:#2a5aa5}.link-icon{vertical-align:middle;margin-left:.375rem;opacity:.35}.card{background:var(--white);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden;border:1px solid var(--paper-dark);box-shadow:0 1px 3px #0000000a}.card__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--paper-dark)}.card__header h2{font-size:1.0625rem;margin:0}.card__title{display:flex;align-items:center;gap:.625rem}.card__body{padding:0 1.5rem 1.25rem}.card.collapsible .card__header{cursor:pointer;-webkit-user-select:none;user-select:none}.form-section{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.25rem;border:1px solid var(--paper-dark)}.section-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1.25rem}.section-header h2{font-size:1.0625rem;margin:0}.section-icon{width:20px;height:20px;opacity:.45}.section-hint{margin-top:-.5rem;margin-bottom:1.25rem}.toggle-icon{width:18px;height:18px;opacity:.4}.btn-icon{width:14px;height:14px;opacity:.6}.btn-icon--danger{filter:brightness(0) saturate(100%) invert(27%) sepia(30%) saturate(1000%) hue-rotate(330deg) brightness(90%);opacity:.8}.btn--sm,.btn--small{padding:.375rem .75rem;font-size:.8125rem}.form-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;cursor:pointer}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group--small{max-width:140px}.toggle-group{display:inline-flex;align-self:flex-start;border:1px solid var(--ink-muted);border-radius:var(--radius);overflow:hidden}.toggle-btn{padding:.45rem 1.2rem;border:none;background:var(--paper);color:var(--ink);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.toggle-btn:not(:last-child){border-right:1px solid var(--ink-muted)}.toggle-btn--active{background:var(--accent);color:#fff}.toggle-btn--sm{padding:.3rem .75rem;font-size:.78rem}.toggle-group--sm{flex-shrink:0}.phone-input-row{display:flex;align-items:stretch;border:1px solid var(--ink-muted);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.phone-input-row:focus-within{border-color:var(--accent)}.phone-input-row .phone-code-input{flex-shrink:0;width:64px;border:none;border-radius:var(--radius) 0 0 var(--radius);border-right:1px solid var(--paper-dark);text-align:center;font-weight:500;padding:.5rem .25rem;box-shadow:none}.phone-input-row .phone-code-input:focus{border-color:inherit}.phone-input-row .phone-code-input.ng-touched.ng-invalid{box-shadow:none}.phone-input-row .phone-number-input{flex:1;border:none;border-radius:0 var(--radius) var(--radius) 0;box-shadow:none}.phone-input-row .phone-number-input.ng-touched.ng-invalid{box-shadow:none}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.25rem}.back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--ink-muted);margin-bottom:.5rem}.back-link:hover{color:var(--accent)}.back-icon{width:14px;height:14px;opacity:.5}.loading-text{color:var(--ink-muted);padding:2rem 0}.empty-hint{color:var(--ink-muted);font-size:.875rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:0 1.5rem 1.25rem}.info-item--full{grid-column:1/-1}.info-item .info-label{display:block;font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.125rem}.info-item .info-value{font-size:.9375rem;color:var(--ink)}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.alert--danger{background:var(--danger-pale);color:var(--danger)}.alert--danger .alert-link{color:var(--danger);font-weight:600;text-decoration:underline;cursor:pointer}.alert--danger .alert-link:hover{color:var(--ink)}.alert--info{background:var(--accent-pale);color:var(--accent);display:flex;align-items:center;gap:.5rem}.compress-inline-btn{margin-left:.75rem;vertical-align:middle}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.5rem .75rem;text-align:left;font-size:.8125rem}.data-table th{color:var(--ink-soft);font-weight:500;border-bottom:1px solid var(--paper-dark)}.data-table td{border-bottom:1px solid var(--paper-dark);color:var(--ink)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-overlay,.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--white);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal h2{font-size:1.125rem;margin-bottom:1rem}.modal-error{color:var(--danger);font-size:.8125rem;font-weight:500;margin-bottom:.75rem}.modal-actions,.modal__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:var(--white);border-radius:var(--radius);padding:1rem 1.25rem;border:1px solid var(--paper-dark)}.summary-card--danger .summary-card__value,.summary-card--danger .summary-value{color:var(--error)}.summary-card--orange .summary-card__value,.summary-card--orange .summary-value{color:var(--gold)}.summary-card__value{display:block;font-size:1.25rem;font-weight:600;color:var(--ink)}.summary-card__label{display:block;font-size:.8125rem;color:var(--ink-soft);margin-top:.25rem}.summary-label{display:block;font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.summary-value{font-size:1.25rem;font-weight:600;color:var(--ink);font-family:DM Mono,monospace}.installment-buttons{display:flex;gap:.5rem}.installment-btn{padding:.375rem 1rem;border:1px solid var(--paper-dark);border-radius:var(--radius);background:var(--white);font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .15s}.installment-btn:hover:not(.installment-btn--active){border-color:var(--accent);color:var(--accent)}.installment-btn--active{background:var(--accent);color:var(--white);border-color:var(--accent)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--ink-muted)}.empty-text{color:var(--ink-muted);font-size:.875rem}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0;margin-top:.25rem}.btn-link:hover{text-decoration:underline}.btn-link--muted,.form-label--muted{color:var(--ink-muted);font-size:.8125rem}.inline-add{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.25rem}.inline-add .form-input{flex:1;min-width:120px}.section-top__actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}@media(max-width:768px){.hide-mobile{display:none!important}.form-row,.info-grid,.summary-cards{grid-template-columns:1fr}.modal{max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.modal-overlay,.modal-backdrop{padding:.5rem}.card__header{padding:.75rem 1rem}.card__body,.info-grid{padding:0 1rem 1rem}.form-section{padding:1rem}.data-table th,.data-table td{padding:.5rem;font-size:.8125rem}.page-header{flex-wrap:wrap;gap:.75rem}.form-actions,.installment-buttons{flex-wrap:wrap}.section-top{flex-direction:column;align-items:stretch;gap:.5rem}.section-top--collapsible{flex-direction:row;align-items:center;justify-content:space-between}.section-top__actions{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;width:100%}.section-top__actions .btn{min-width:0;width:100%}.section-top__left,.section-top__right{width:100%;justify-content:space-between}.actions-cell{flex-direction:column;white-space:normal}.actions-cell .btn{width:100%;justify-content:center}.convention-actions{flex-direction:column}.convention-actions .btn{width:100%}}@media(max-width:480px){.data-table th,.data-table td{padding:.375rem;font-size:.75rem}.btn{padding:.5rem .875rem;font-size:.875rem}.card__header h2{font-size:.9375rem}}
