:root{--c-bg:#f7f5f0;--c-surface:#fff;--c-border:#ddd9d0;--c-text:#1a1814;--c-text-muted:#6b6660;--c-accent:#c8820a;--c-accent-bg:#fef3dc;--c-danger:#b91c1c;--c-danger-bg:#fef2f2;--c-success:#166534;--c-success-bg:#f0fdf4;--font-sans:"DM Sans", "Helvetica Neue", sans-serif;--font-mono:"DM Mono", "Courier New", monospace;--radius-sm:4px;--radius-md:8px;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000a}.dashboard{background:var(--c-bg);min-height:100vh;font-family:var(--font-sans);color:var(--c-text);padding:0 0 4rem}.dashboard-loading{min-height:100vh;font-family:var(--font-sans);color:var(--c-text-muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.dashboard__header{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:10;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.dashboard__header-left{flex-direction:column;gap:.1rem;display:flex}.dashboard__org{letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:600;line-height:1.2}.dashboard__greeting{color:var(--c-text-muted);font-size:.8125rem}.dashboard__header-right{align-items:center;gap:.75rem;display:flex}.dashboard__role-badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--c-border);color:var(--c-text-muted);background:var(--c-bg);border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:600}.dashboard__section{max-width:1100px;margin:2rem auto 0;padding:0 2rem}.dashboard__section--muted{opacity:.65}.dashboard__section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);margin:0 0 .875rem;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.dashboard__section-title--alert{color:var(--c-accent);border-color:var(--c-accent)}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.kpi-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.3rem;padding:1.25rem 1.5rem;display:flex}.kpi-card--accent{border-color:var(--c-accent);background:var(--c-accent-bg)}.kpi-card__value{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--c-text);font-size:2rem;font-weight:600;line-height:1}.kpi-card--accent .kpi-card__value{color:var(--c-accent)}.kpi-card__label{color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.bank-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;display:flex}.bank-card__header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bank-card__name{font-size:.9375rem;font-weight:600}.bank-card__currency{font-family:var(--font-mono);color:var(--c-text-muted);letter-spacing:.05em;font-size:.6875rem}.bank-card__bank{color:var(--c-text-muted);margin-bottom:.5rem;font-size:.8125rem}.bank-card__balance{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--c-text);font-size:1.375rem;font-weight:600}.bank-card--linked{cursor:pointer;text-decoration:none;transition:border-color .12s,box-shadow .12s}.bank-card--linked:hover{border-color:var(--c-accent);box-shadow:0 2px 8px #00000014}.bank-card__unreconciled{color:var(--c-accent);text-transform:uppercase;letter-spacing:.06em;margin-top:.5rem;font-size:.6875rem;font-weight:600}.fin-summary{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.25rem 1.5rem 1rem;overflow-x:auto}.fin-summary__table{border-collapse:collapse;width:100%}.fin-summary__table thead th{text-align:right;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);padding:.75rem 1rem .5rem 0;font-size:.6875rem;font-weight:600}.fin-summary__col-label{width:40%;text-align:left!important}.fin-summary__col-period{width:30%}.fin-summary__table tbody td{border-bottom:1px solid var(--c-border);padding:.625rem 1rem .625rem 0}.fin-summary__row-label{color:var(--c-text);font-size:.875rem;font-weight:500}.fin-summary__amount{text-align:right;font-family:var(--font-mono);color:var(--c-text);font-size:.9375rem}.fin-summary__amount--expense{color:var(--c-text-muted)}.fin-summary__amount--positive{color:var(--c-success);font-weight:600}.fin-summary__amount--negative{color:var(--c-danger);font-weight:600}.fin-summary__row--net td{border-bottom:none;padding-top:.875rem}.fin-summary__row--net .fin-summary__row-label{font-size:.9375rem;font-weight:700}.attention-list{background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--radius-md);overflow:hidden}.attention-row{border-bottom:1px solid var(--c-border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.875rem;display:flex}.attention-row:last-child{border-bottom:none}.attention-row__number{font-family:var(--font-mono);min-width:7rem;font-weight:600}.attention-row__due{color:var(--c-text-muted)}.attention-row__days{color:var(--c-danger);font-size:.8125rem;font-weight:600}.attention-row__currency{font-family:var(--font-mono);color:var(--c-text-muted);margin-left:auto;font-size:.6875rem}.attention-row__reconciled{font-family:var(--font-mono);color:var(--c-text-muted);margin-left:auto;font-size:.8125rem}.badge--overdue{text-transform:uppercase;letter-spacing:.05em;background:var(--c-danger-bg);color:var(--c-danger);white-space:nowrap;border-radius:999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge--partial{text-transform:uppercase;letter-spacing:.05em;background:var(--c-accent-bg);color:var(--c-accent);white-space:nowrap;border-radius:999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.audit-list{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.audit-row{border-bottom:1px solid var(--c-border);grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.625rem 1.25rem;font-size:.8125rem;display:grid}.audit-row:last-child{border-bottom:none}.audit-row--alert{background:var(--c-accent-bg)}.audit-row__action{font-weight:500}.audit-row--alert .audit-row__action{color:var(--c-accent)}.audit-row__table{font-family:var(--font-mono);color:var(--c-text-muted);background:var(--c-bg);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.6875rem}.audit-row__time{color:var(--c-text-muted);white-space:nowrap}.alert{max-width:1100px;margin:1.5rem auto 0;padding:0 2rem}.alert--error{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--radius-md);color:var(--c-danger);padding:.875rem 1.25rem;font-size:.875rem}.empty-state,.placeholder-notice{color:var(--c-text-muted);font-size:.875rem;font-style:italic}.spinner{border:2px solid var(--c-border);border-top-color:var(--c-text-muted);border-radius:50%;width:1.25rem;height:1.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.btn--ghost{border:1px solid var(--c-border);color:var(--c-text-muted);background:0 0}.btn--ghost:hover{background:var(--c-bg);color:var(--c-text)}@media (width<=640px){.dashboard__header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.dashboard__section{padding:0 1rem}.attention-row{gap:.5rem}.attention-row__currency,.attention-row__reconciled{margin-left:0}.audit-row{grid-template-columns:1fr auto}.audit-row__table{display:none}}.customers-page,.customer-detail-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header__title-group{align-items:baseline;gap:.75rem;display:flex}.page-header__title{letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:600;line-height:1.2}.page-header__count{color:var(--c-text-muted);font-size:.8125rem}.page-header__breadcrumb{align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.breadcrumb-link{color:var(--c-accent);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-sep{color:var(--c-border);-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--c-text);font-weight:500}.btn{border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;line-height:1.25;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn--primary{background:var(--c-text);color:var(--c-surface)}.btn--primary:hover:not(:disabled){opacity:.85}.btn--ghost{color:var(--c-text-muted);border:1px solid var(--c-border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.btn--sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.4;cursor:not-allowed}.list-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.search-field{flex:280px;max-width:420px;position:relative}.search-field__icon{color:var(--c-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-field__input{border:1px solid var(--c-border);border-radius:var(--radius-sm);width:100%;font-size:.875rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);box-sizing:border-box;outline:none;padding:.5rem .75rem .5rem 2.25rem;transition:border-color .15s}.search-field__input:focus{border-color:var(--c-text-muted)}.search-field__input::placeholder{color:var(--c-text-muted)}.data-table-wrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem;font-family:var(--font-sans)}.data-table thead tr{border-bottom:1px solid var(--c-border)}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-muted);white-space:nowrap;padding:.625rem 1.25rem;font-size:.75rem;font-weight:600}.data-table td{vertical-align:middle;border-bottom:1px solid var(--c-border);color:var(--c-text);padding:.75rem 1.25rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table__row--clickable{cursor:pointer;transition:background .1s}.data-table__row--clickable:hover{background:var(--c-bg)}.data-table__row--clickable:focus{outline:2px solid var(--c-accent);outline-offset:-2px}.data-table__name-cell{align-items:center;gap:.625rem;display:flex}.data-table__name{color:var(--c-text);font-weight:500}.data-table__muted{color:var(--c-text-muted);font-size:.8125rem}.data-table__empty{color:var(--c-text-muted)}.text-right{text-align:right!important}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-positive{color:var(--c-success)!important}.avatar{background:var(--c-bg);border:1px solid var(--c-border);width:1.875rem;height:1.875rem;color:var(--c-text-muted);font-size:.6875rem;font-weight:700;font-family:var(--font-mono);letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.6875rem;font-weight:600;font-family:var(--font-sans);border-radius:999px;align-items:center;padding:.125rem .5rem;display:inline-flex}.badge--draft{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.badge--active{background:var(--c-success-bg);color:var(--c-success)}.badge--expired{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.badge--terminated{background:var(--c-danger-bg);color:var(--c-danger)}.badge--paid{background:var(--c-success-bg);color:var(--c-success)}.badge--cancelled{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.badge--excluded{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.badge--credit{background:var(--c-success-bg);color:var(--c-success)}.badge--debit{background:var(--c-danger-bg);color:var(--c-danger)}.badge--warning{background:var(--c-accent-bg);color:var(--c-accent)}.badge--neutral{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.pagination{justify-content:center;align-items:center;gap:1rem;display:flex}.pagination__btn{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);cursor:pointer;color:var(--c-text-muted);padding:.375rem .75rem;transition:background .1s}.pagination__btn:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__info{color:var(--c-text-muted);font-size:.8125rem}.table-skeleton{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-card);overflow:hidden}.table-skeleton__row{background:linear-gradient(90deg, var(--c-surface) 25%, var(--c-bg) 50%, var(--c-surface) 75%);border-bottom:1px solid var(--c-border);background-size:200% 100%;height:52px;animation:1.4s ease-in-out infinite shimmer}.table-skeleton__row:last-child{border-bottom:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-inline{background:var(--c-border);background-size:200% 100%;border-radius:2px;height:1em;animation:1.4s ease-in-out infinite shimmer;display:inline-block}.state-banner{border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.875rem 1.25rem;font-size:.875rem;display:flex}.state-banner--error{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger)}.state-banner__retry{border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-sans);cursor:pointer;color:inherit;background:0 0;border:1px solid;margin-left:auto;padding:.25rem .625rem}.state-banner__retry:hover{opacity:.75}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3.5rem 1rem;display:flex}.empty-state--tab{padding:2rem 1rem}.empty-state__icon{color:var(--c-text-muted);opacity:.4}.empty-state__heading{color:var(--c-text-muted);margin:0;font-size:.875rem;font-style:italic}.modal-backdrop{z-index:100;background:#1a181466;justify-content:center;align-items:center;padding:1rem;animation:.12s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--c-surface);border-radius:var(--radius-md);border:1px solid var(--c-border);width:100%;max-width:480px;animation:.16s cubic-bezier(.16,1,.3,1) slide-up;overflow:hidden;box-shadow:0 20px 48px #00000029}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal__header{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 0;display:flex}.modal__title{color:var(--c-text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.modal__close{color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem;display:flex}.modal__close:hover{color:var(--c-text)}.modal__form{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.modal__actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.form-label__required{color:var(--c-danger);margin-left:.125rem}.form-input{border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);box-sizing:border-box;outline:none;width:100%;padding:.5rem .75rem;transition:border-color .15s}.form-input:focus{border-color:var(--c-text-muted)}.form-input::placeholder{color:var(--c-text-muted)}.form-input--textarea{resize:vertical;line-height:1.5}.form-error-banner{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--radius-sm);color:var(--c-danger);padding:.625rem .875rem;font-size:.8125rem}.detail-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.5rem}.detail-card__header{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.detail-card__heading{color:var(--c-text);letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:600}.detail-card__subheading{color:var(--c-accent);margin-top:.125rem;font-size:.8125rem;text-decoration:none;display:block}.detail-card__subheading:hover{text-decoration:underline}.detail-card__actions{justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.customer-avatar--lg{background:var(--c-bg);border:1px solid var(--c-border);width:2.75rem;height:2.75rem;color:var(--c-text-muted);font-size:1rem;font-weight:700;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.detail-list{grid-template-columns:max-content 1fr;gap:.375rem 1.5rem;margin:0;display:grid}.detail-list__label{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);padding-top:.125rem;font-size:.75rem;font-weight:600}.detail-list__value{color:var(--c-text);font-size:.875rem}.detail-list__value--notes{white-space:pre-wrap;word-break:break-word}.summary-grid{grid-template-columns:repeat(5,1fr);gap:1rem;display:grid}@media (width<=900px){.summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=400px){.summary-grid{grid-template-columns:1fr}}.summary-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.375rem;padding:1.125rem 1.25rem;display:flex}.summary-card--positive{border-left:3px solid var(--c-success)}.summary-card--warning{border-left:3px solid var(--c-accent)}.summary-card--neutral{border-left:3px solid var(--c-border)}.summary-card__label{text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.summary-card__value{font-family:var(--font-mono);color:var(--c-text);letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.tabs-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.tabs{border-bottom:1px solid var(--c-border);padding:0 .5rem;display:flex}.tabs__tab{font-size:.75rem;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1rem;transition:color .1s,border-color .1s}.tabs__tab:hover{color:var(--c-text)}.tabs__tab--active{color:var(--c-text);border-bottom-color:var(--c-text)}.tabs__tab-count{color:var(--c-text-muted);letter-spacing:0;margin-left:.35em;font-size:.7rem;font-weight:500}.tabs__tab--active .tabs__tab-count{color:var(--c-text)}.tabs__tab-count--loading{background:linear-gradient(90deg, var(--c-border) 25%, var(--c-bg) 50%, var(--c-border) 75%);vertical-align:middle;background-size:200% 100%;border-radius:3px;width:1.5em;height:.65em;animation:1.4s ease-in-out infinite shimmer;display:inline-block}.tab-panel{padding:0}.badge-group{flex-wrap:nowrap;align-items:center;gap:.25rem;display:inline-flex}@media (width<=720px){.customers-page,.customer-detail-page{gap:1.25rem;padding:1rem 1rem 3rem}.form-grid{grid-template-columns:1fr}.data-table th,.data-table td{padding:.625rem .75rem}}.file-panel{flex-direction:column;gap:1rem;display:flex}.file-upload-zone{border:1.5px dashed var(--c-border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.75rem 1.5rem;transition:border-color .15s,background .15s;display:flex;position:relative}.file-upload-zone:hover,.file-upload-zone--drag-over{border-color:var(--c-accent);background:color-mix(in srgb, var(--c-accent) 4%, transparent)}.file-upload-zone--uploading{pointer-events:none;opacity:.7}.file-upload-zone__input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-upload-zone__icon{color:var(--c-text-muted);flex-shrink:0}.file-upload-zone__label{color:var(--c-text-muted);font-size:.875rem;line-height:1.4}.file-upload-zone__label strong{color:var(--c-accent);font-weight:500}.file-upload-zone__hint{color:var(--c-text-muted);opacity:.75;font-size:.75rem}.file-upload-zone__progress{color:var(--c-text-muted);font-size:.8125rem}.file-upload-error{background:color-mix(in srgb, var(--c-danger,#dc2626) 8%, transparent);border:1px solid color-mix(in srgb, var(--c-danger,#dc2626) 25%, transparent);border-radius:var(--radius-sm);color:var(--c-danger,#dc2626);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.file-upload-error__dismiss{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;align-items:center;margin-left:auto;padding:0;line-height:1;display:flex}.file-upload-error__dismiss:hover{opacity:1}.file-list{border:1px solid var(--c-border);border-radius:var(--radius-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.file-list__row{background:var(--c-surface);border-bottom:1px solid var(--c-border);align-items:center;gap:.75rem;padding:.625rem .875rem;transition:background .1s;display:flex}.file-list__row:last-child{border-bottom:none}.file-list__row:hover{background:color-mix(in srgb, var(--c-border) 20%, var(--c-surface))}.file-list__icon{color:var(--c-text-muted);flex-shrink:0;align-items:center;display:flex}.file-list__icon--pdf{color:#e63946}.file-list__icon--image{color:#2a9d8f}.file-list__icon--doc{color:#3a86ff}.file-list__icon--sheet{color:#2b9348}.file-list__meta{flex:1;min-width:0}.file-list__name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.file-list__info{color:var(--c-text-muted);margin-top:.1rem;font-size:.75rem}.file-list__actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.file-list__btn{font-size:.75rem;font-family:var(--font-sans);color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.3rem;padding:.25rem .5rem;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex}.file-list__btn:hover{color:var(--c-text);border-color:var(--c-text-muted)}.file-list__btn--delete:hover{color:var(--c-danger,#dc2626);border-color:var(--c-danger,#dc2626)}.file-list__btn:disabled{opacity:.45;pointer-events:none}.file-list__delete-confirm{color:var(--c-text-muted);white-space:nowrap;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.file-list__delete-confirm span{color:var(--c-text)}.file-panel__empty{text-align:center;color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:1.5rem;font-size:.875rem}.file-panel__error{color:var(--c-danger,#dc2626);padding:.5rem 0;font-size:.8125rem}.invoice-row-actions__btn--attach-active{color:var(--c-accent);border-color:var(--c-accent)}.file-tab-count{background:var(--c-accent);min-width:1.25rem;height:1.25rem;color:var(--c-surface);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:.3rem;padding:0 .3rem;font-size:.6875rem;font-weight:600;display:inline-flex}.contracts-page,.contract-detail-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.filter-select{border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);cursor:pointer;outline:none;padding:.5rem .75rem;transition:border-color .15s}.filter-date{border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-mono);background:var(--c-surface);color:var(--c-text);outline:none;width:140px;padding:.5rem .75rem;transition:border-color .15s}.contract-header-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.contract-header-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.contract-header-card__title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.contract-header-card__title{letter-spacing:-.02em;color:var(--c-text);margin:0;font-size:1.125rem;font-weight:600}.contract-header-card__actions{flex-shrink:0;gap:.625rem;display:flex}.summary-card--danger{border-left:3px solid var(--c-danger)}.summary-card--info{border-left:3px solid var(--c-accent)}.summary-card__sub{color:var(--c-text-muted);margin-top:.125rem;font-size:.75rem}.summary-card__value--positive{color:var(--c-success)}.summary-card__value--info,.summary-card__value--warning{color:var(--c-accent)}.summary-card__value--danger{color:var(--c-danger)}.tab-toolbar{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.tab-toolbar__label{text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.tab-toolbar--actions-only{border-bottom:none;justify-content:flex-end;padding:.625rem 0}.milestone-row{border-bottom:1px solid var(--c-border);grid-template-columns:1fr auto auto auto;align-items:center;gap:1rem;padding:.875rem 1.25rem;transition:background .1s;display:grid}.milestone-row:last-child{border-bottom:none}.milestone-row:hover{background:var(--c-bg)}.milestone-row__title{color:var(--c-text);font-size:.875rem;font-weight:500}.milestone-row__date{color:var(--c-text-muted);margin-top:.125rem;font-size:.75rem}.milestone-row__amount{font-family:var(--font-mono);color:var(--c-text);text-align:right;white-space:nowrap;font-size:.875rem}.milestone-totals{border-top:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-muted);justify-content:flex-end;gap:1.5rem;padding:.75rem 1.25rem;font-size:.8125rem;display:flex}.milestone-totals__item{align-items:center;gap:.5rem;display:flex}.milestone-totals__value{font-family:var(--font-mono);color:var(--c-text);font-weight:600}.milestone-totals__value--positive{color:var(--c-success)}.milestone-totals__value--info{color:var(--c-accent)}.milestone-checklist{border:1px solid var(--c-border);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.milestone-checklist__item{background:var(--c-surface);border-bottom:1px solid var(--c-border);cursor:pointer;align-items:center;gap:.75rem;padding:.625rem .875rem;transition:background .1s;display:flex}.milestone-checklist__item:last-child{border-bottom:none}.milestone-checklist__item:hover:not(.milestone-checklist__item--paid){background:var(--c-bg)}.milestone-checklist__item--paid{cursor:default;opacity:.5}.milestone-checklist__checkbox{width:1rem;height:1rem;accent-color:var(--c-accent);cursor:inherit;flex-shrink:0}.milestone-checklist__body{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.milestone-checklist__title{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.milestone-checklist__meta{color:var(--c-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.badge--pending,.badge--invoiced{background:var(--c-accent-bg);color:var(--c-accent)}.doc-row{border-bottom:1px solid var(--c-border);align-items:center;gap:1rem;padding:.875rem 1.25rem;font-size:.875rem;transition:background .1s;display:flex}.doc-row:last-child{border-bottom:none}.doc-row:hover{background:var(--c-bg)}.doc-row__icon{color:var(--c-text-muted);flex-shrink:0}.doc-row__name{color:var(--c-text);flex:1;font-weight:500}.doc-row__meta{color:var(--c-text-muted);font-size:.75rem}.modal--wide{max-width:560px}.terminate-warning{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--radius-sm);color:var(--c-danger);padding:.75rem 1rem;font-size:.8125rem}.btn--danger{background:var(--c-danger);color:#fff}.btn--danger:hover:not(:disabled){opacity:.85}.btn--sm{gap:.375rem;padding:.375rem .75rem;font-size:.8125rem}.milestone-partial-indicator{color:var(--c-accent);font-variant-numeric:tabular-nums;margin-top:.375rem;font-size:.8125rem}.invoice-row-actions{white-space:nowrap;text-align:right;padding-right:.25rem}.invoice-row-actions__btn{margin-left:.375rem}.invoice-row-actions__btn--disabled{opacity:.4}.form-input--file{cursor:pointer;padding:.375rem .5rem;font-size:.8125rem}.form-group--full{grid-column:1/-1}.modal__save-step{color:var(--c-text-muted);align-self:center;margin-right:auto;font-size:.8125rem}.empty-state__sub{color:var(--c-text-muted);margin-top:.25rem;font-size:.8125rem}.contract-invoice-row__milestone{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.8125rem;display:block;overflow:hidden}.badge--partial-payment{background:var(--c-accent-bg);color:var(--c-accent);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.invoice-partial-payment-hint{color:var(--c-accent);font-variant-numeric:tabular-nums;align-items:center;gap:.375rem;margin-top:.375rem;font-size:.8125rem;display:flex}.bank-reconcile-mismatch-warning{background:var(--c-accent-bg);border:1px solid var(--c-accent);border-radius:var(--radius-sm);color:var(--c-accent);align-items:flex-start;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5;display:flex}@media (width<=720px){.contracts-page,.contract-detail-page{gap:1.25rem;padding:1rem 1rem 3rem}.milestone-row{grid-template-columns:1fr auto auto}.milestone-totals{flex-wrap:wrap;gap:.75rem}.filter-date{width:120px}}.invoices-page,.invoice-detail-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.badge--sent{background:var(--c-accent-bg);color:var(--c-accent)}.badge--overdue{background:var(--c-danger-bg);color:var(--c-danger)}.badge--cancelled{background:var(--c-border);color:var(--c-text-muted)}.invoice-due--overdue{color:var(--c-danger);font-weight:600}.invoice-tx-row{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;font-size:.875rem;transition:background .1s;display:flex}.invoice-tx-row:last-child{border-bottom:none}.invoice-tx-row:hover{background:var(--c-bg)}.invoice-tx-row__date{font-family:var(--font-mono);color:var(--c-text-muted);margin-bottom:.25rem;font-size:.8125rem}.invoice-tx-row__status{align-items:center;gap:.5rem;display:flex}.invoice-tx-row__amount{font-family:var(--font-mono);white-space:nowrap;color:var(--c-text);font-size:.9375rem;font-weight:600}.invoice-tx-row__amount--credit{color:var(--c-success)}.badge--reconciled{background:var(--c-success-bg,#f0fdf4);color:var(--c-success)}.badge--unreconciled{background:var(--c-accent-bg);color:var(--c-accent)}.badge--excluded{background:var(--c-border);color:var(--c-text-muted)}.invoices-filters{flex-direction:column;gap:.625rem;display:flex}.invoices-filters__row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.invoices-filters__row--dates{font-size:.875rem}.invoices-filters__date-label{text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.invoices-filters__date-label--gap{margin-left:.75rem}.invoices-filters__date-sep{color:var(--c-text-muted);font-size:.875rem}.invoices-filters__clear-all{font-size:.8125rem;font-family:var(--font-sans);color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:.25rem .5rem;transition:color .1s,background .1s}.invoices-filters__clear-all:hover{color:var(--c-text);background:var(--c-border)}.filter-select{border:1px solid var(--c-border);border-radius:var(--radius-sm);height:36px;font-size:.875rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);cursor:pointer;outline:none;padding:0 .75rem;transition:border-color .15s}.filter-select:focus{border-color:var(--c-text-muted)}.filter-select:disabled{opacity:.5;cursor:not-allowed}.filter-date{border:1px solid var(--c-border);border-radius:var(--radius-sm);height:36px;font-size:.8125rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);outline:none;padding:0 .625rem;transition:border-color .15s}.filter-date:focus{border-color:var(--c-text-muted)}.invoices-customer-search{flex:240px;max-width:320px;position:relative}.invoices-search-field{align-items:center;display:flex;position:relative}.invoices-search-field__icon{color:var(--c-text-muted);pointer-events:none;position:absolute;left:.625rem}.invoices-search-field__input{border:1px solid var(--c-border);border-radius:var(--radius-sm);width:100%;height:36px;font-size:.875rem;font-family:var(--font-sans);background:var(--c-surface);color:var(--c-text);box-sizing:border-box;outline:none;padding:0 2rem 0 2.125rem;transition:border-color .15s}.invoices-search-field__input:focus{border-color:var(--c-text-muted)}.invoices-search-field__input::placeholder{color:var(--c-text-muted)}.invoices-search-field__clear{color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;align-items:center;padding:.125rem;transition:color .1s;display:flex;position:absolute;right:.5rem}.invoices-search-field__clear:hover{color:var(--c-text)}.invoices-typeahead{z-index:200;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);max-height:220px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.invoices-typeahead li{padding:0}.invoices-typeahead li button{text-align:left;width:100%;font-size:.875rem;font-family:var(--font-sans);color:var(--c-text);cursor:pointer;background:0 0;border:none;padding:.5rem .875rem;transition:background .1s;display:block}.invoices-typeahead li button:hover{background:var(--c-bg)}.invoices-milestone-cell{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}@media (width<=720px){.invoices-page,.invoice-detail-page{gap:1.25rem;padding:1rem 1rem 3rem}.invoices-filters__row--dates{flex-wrap:wrap;gap:.5rem}.invoices-filters__date-label--gap{margin-left:0}.invoices-customer-search{flex-basis:100%;max-width:100%}}.expenses-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.expenses-filter-sep{color:var(--c-text-muted);flex-shrink:0;font-size:.875rem}.expenses-clear-filters{font-size:.8125rem;font-family:var(--font-sans);color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:.25rem .5rem;transition:color .1s,background .1s}.expenses-clear-filters:hover{color:var(--c-text);background:var(--c-border)}.badge--category-office{color:#3b5bdb;background:#f0f4ff}.badge--category-travel{color:#e65100;background:#fff3e0}.badge--category-software{color:#7c3aed;background:#f3e8ff}.badge--category-services{color:#2e7d32;background:#e8f5e9}.badge--category-payroll{color:#c62828;background:#fce4ec}.badge--category-other{background:var(--c-border);color:var(--c-text-muted)}[class^=badge--category-]{white-space:nowrap;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}@media (width<=720px){.expenses-page{gap:1.25rem;padding:1rem 1rem 3rem}}.bank-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.bank-accounts-list{flex-direction:column;gap:.5rem;display:flex}.bank-account-row{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .12s,box-shadow .12s;display:flex}.bank-account-row:hover{border-color:var(--c-border-hover);box-shadow:0 1px 4px #0000000f}.bank-account-row__main{flex-direction:column;gap:.3rem;min-width:0;display:flex}.bank-account-row__line1{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.bank-account-row__name{color:var(--c-text);font-size:.9375rem;font-weight:600}.bank-account-row__bank{color:var(--c-text-muted);font-size:.875rem}.bank-account-row__line2{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bank-account-row__currency{color:var(--c-text-muted);font-size:.8125rem;font-weight:600;font-family:var(--font-mono,monospace)}.bank-account-row__iban,.bank-account-row__sort-code{color:var(--c-text-muted);font-size:.8125rem;font-family:var(--font-mono,monospace)}.bank-account-row__right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.bank-account-row__unreconciled{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:4px;padding:.2em .6em;font-size:.8125rem;font-weight:600}.bank-account-row__reconciled{color:var(--c-text-muted);white-space:nowrap;font-size:.8125rem}.bank-account-row__chevron{color:var(--c-text-muted);flex-shrink:0}.badge--active{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}.badge--closed{background:var(--c-border);color:var(--c-text-muted);white-space:nowrap;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}.tx-credit{color:#166534}.tx-debit{color:#991b1b}.badge--unreconciled{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}.badge--reconciled{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}.badge--excluded{background:var(--c-border);color:var(--c-text-muted);white-space:nowrap;border-radius:4px;padding:.2em .55em;font-size:.75rem;font-weight:600}.bank-account-detail__meta{flex-wrap:wrap;gap:1.5rem;padding-top:.25rem;display:flex}.bank-account-detail__meta-item{color:var(--c-text);flex-direction:column;gap:.125rem;font-size:.875rem;display:flex}.bank-account-detail__meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.bank-summary-bar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.bank-summary-bar__card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);flex-direction:column;flex:1;gap:.25rem;min-width:160px;padding:.875rem 1.25rem;display:flex}.bank-summary-bar__label{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.bank-summary-bar__value{font-size:1.125rem;font-weight:600;font-family:var(--font-mono,monospace);color:var(--c-text);letter-spacing:-.02em}.bank-summary-bar__value--credit{color:#166534}.bank-summary-bar__value--debit{color:#991b1b}.bank-summary-bar__pending{color:var(--c-text-muted);font-family:var(--font-sans);font-size:1rem;font-weight:400}.bank-summary-bar__hint{color:var(--c-text-muted);align-self:flex-end;padding-bottom:.25rem;font-size:.8125rem}@media (width<=720px){.bank-summary-bar__card{min-width:calc(50% - .5rem)}}.bank-tx-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.bank-tx-toolbar__left{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.bank-tx-toolbar__filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.bank-tx-count{color:var(--c-text-muted);margin-top:-.75rem;font-size:.8125rem}.bank-import-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:1.25rem;max-width:680px;padding:2rem;display:flex}.bank-import-card__title{letter-spacing:-.01em;color:var(--c-text);margin:0;font-size:1.0625rem;font-weight:600}.bank-import-card__desc{color:var(--c-text-muted);margin:0;font-size:.875rem;line-height:1.6}.bank-import-card__desc code{font-family:var(--font-mono);background:var(--c-bg);border:1px solid var(--c-border);border-radius:3px;padding:.1em .35em;font-size:.8125rem}.bank-import-drop{border:2px dashed var(--c-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;transition:border-color .15s,background .15s;display:flex}.bank-import-drop:hover{border-color:var(--c-text-muted);background:var(--c-bg)}.bank-import-drop__label{color:var(--c-text);margin:0;font-size:.9375rem;font-weight:500}.bank-import-drop__hint{color:var(--c-text-muted);margin:0;font-size:.8125rem}.bank-import-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.bank-import-summary__counts{align-items:center;gap:1rem;display:flex}.bank-import-summary__valid{color:var(--c-success);font-size:.875rem;font-weight:600}.bank-import-summary__invalid{color:var(--c-danger);font-size:.875rem;font-weight:600}.bank-import-summary__file{color:var(--c-text-muted);font-size:.8125rem;font-family:var(--font-mono)}.bank-import-row--invalid td{opacity:.6}.bank-import-row__error{color:var(--c-danger);margin-top:.125rem;font-size:.75rem;display:block}.bank-import-actions{justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.bank-import-result{align-items:center;gap:1rem;display:flex}.bank-import-result__counts{gap:2rem;display:flex}.bank-import-result__stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.bank-import-result__stat-value{font-size:2rem;font-weight:600;font-family:var(--font-mono);color:var(--c-success);letter-spacing:-.03em}.bank-import-result__stat--warn .bank-import-result__stat-value{color:var(--c-accent)}.bank-import-result__stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);font-size:.75rem;font-weight:600}.bank-import-result__errors{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--radius-sm);padding:.875rem 1rem}.bank-import-result__errors-heading{color:var(--c-danger);margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.bank-import-result__error-list{color:var(--c-danger);flex-direction:column;gap:.25rem;margin:0;padding-left:1.25rem;font-size:.8125rem;display:flex}.bank-reconcile-row__actions{text-align:right;white-space:nowrap;padding-right:.25rem}.bank-reconcile-actions{gap:.375rem;display:inline-flex}.bank-reconcile-row--done td{opacity:.5;transition:opacity .3s}.bank-reconcile-panel-row td{border-bottom:1px solid var(--c-border);padding:0 1.25rem .75rem}.bank-reconcile-panel{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);flex-direction:column;gap:.875rem;padding:1rem 1.25rem;display:flex}.bank-reconcile-panel__field{flex-direction:column;gap:.375rem;max-width:480px;display:flex;position:relative}.bank-reconcile-panel__hint{color:var(--c-text-muted);margin:0;font-size:.8125rem}.bank-reconcile-panel__selected{color:var(--c-text);margin:0;font-size:.875rem;font-weight:500}.bank-reconcile-panel__change{color:var(--c-accent);cursor:pointer;font-size:.75rem;font-family:var(--font-sans);background:0 0;border:none;margin-left:.5rem;padding:0}.bank-reconcile-panel__change:hover{text-decoration:underline}.bank-reconcile-panel__searching{color:var(--c-text-muted);font-size:.75rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.bank-reconcile-panel__confirm{justify-content:flex-end;display:flex}.bank-reconcile-typeahead{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);z-index:20;max-height:220px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.bank-reconcile-typeahead__item{text-align:left;width:100%;font-size:.875rem;font-family:var(--font-sans);color:var(--c-text);cursor:pointer;background:0 0;border:none;padding:.5rem .875rem;transition:background .1s;display:block}.bank-reconcile-typeahead__item:hover{background:var(--c-bg)}@media (width<=720px){.bank-page{gap:1.25rem;padding:1rem 1rem 3rem}.bank-account-row{padding:.875rem 1rem}.bank-account-row__right{gap:.5rem}.bank-account-row__reconciled{display:none}}.employees-page{max-width:1100px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.filter-select{appearance:auto;flex:none;width:auto;min-width:9rem;padding-right:2rem}.badge--inactive{background:var(--c-bg);color:var(--c-text-muted);border:1px solid var(--c-border)}.employee-tax-id{font-family:var(--font-mono);letter-spacing:.04em;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text);padding:.1rem .5rem;font-size:.875rem}.form-hint{color:var(--c-text-muted);margin-top:.125rem;font-size:.75rem}.state-banner--warning{background:var(--c-accent-bg);color:var(--c-accent);border:1px solid var(--c-accent)}.amount--gross{color:var(--c-text)}.amount--net{color:var(--c-success)}.amount--tax{color:var(--c-accent)}@media (width<=720px){.employees-page{gap:1.25rem;padding:1rem 1rem 3rem}.data-table th:nth-child(3),.data-table td:nth-child(3){display:none}.filter-select{min-width:7.5rem}}@media (width<=480px){.data-table th:nth-child(3),.data-table td:nth-child(3),.data-table th:nth-child(4),.data-table td:nth-child(4),.data-table th:nth-child(6),.data-table td:nth-child(6){display:none}}.settings-page{max-width:680px;font-family:var(--font-sans);color:var(--c-text);flex-direction:column;gap:1.75rem;margin:2rem auto 0;padding:0 2rem 4rem;display:flex}.settings-setup-banner{background:var(--c-accent-bg);border:1px solid var(--c-accent);border-radius:var(--radius-md);align-items:flex-start;gap:1rem;padding:1.125rem 1.375rem;font-size:.875rem;display:flex}.settings-setup-banner__icon{flex-shrink:0;margin-top:.125rem;font-size:1.5rem;line-height:1}.settings-setup-banner__heading{color:var(--c-text);margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.settings-setup-banner__body{color:var(--c-text-muted);margin:0;line-height:1.5}.settings-card{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.settings-card--meta{padding:1.25rem 1.5rem}.settings-card__section{flex-direction:column;gap:1.125rem;padding:1.5rem;display:flex}.settings-card__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);margin:0;font-size:.8125rem;font-weight:600}.settings-card__section-hint{color:var(--c-text-muted);margin:-.5rem 0 0;font-size:.8125rem;line-height:1.5}.settings-card__divider{background:var(--c-border);height:1px}.settings-card__actions{justify-content:flex-end;align-items:center;gap:1rem;padding:1.125rem 1.5rem;display:flex}.settings-fields{flex-direction:column;gap:1rem;display:flex}.settings-input{max-width:100%}.settings-currency-group{max-width:280px}.settings-currency-select{cursor:pointer;width:100%}.settings-save-ok{color:var(--c-success);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:inline-flex}.settings-save-error{color:var(--c-danger);flex:1;font-size:.8125rem}@media (width<=600px){.settings-page{gap:1.25rem;padding:1rem 1rem 3rem}.settings-card__section{padding:1.25rem 1rem}.settings-card__actions{flex-wrap:wrap;padding:1rem}.settings-currency-group{max-width:100%}.settings-setup-banner{flex-direction:column;gap:.75rem}}.app-shell{background:var(--c-bg);min-height:100vh;font-family:var(--font-sans);color:var(--c-text)}.app-nav{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:10;justify-content:space-between;align-items:center;gap:1rem;height:3.25rem;padding:0 2rem;display:flex;position:sticky;top:0}.app-nav__left{flex:1;align-items:center;gap:2rem;min-width:0;display:flex}.app-nav__org{letter-spacing:-.02em;color:var(--c-text);white-space:nowrap;flex-shrink:0;font-size:.9375rem;font-weight:600}.app-nav__links{align-items:center;gap:0;height:3.25rem;display:flex}.app-nav__link{height:100%;color:var(--c-text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 1rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .1s,border-color .1s;display:flex}.app-nav__link:hover{color:var(--c-text)}.app-nav__link--active{color:var(--c-text);border-bottom-color:var(--c-text)}.app-nav__right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.app-nav__user{color:var(--c-text-muted);font-size:.8125rem}@media (width<=640px){.app-nav{flex-wrap:wrap;gap:.5rem;height:auto;padding:.75rem 1rem}.app-nav__left{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.app-nav__links{gap:0;height:auto}.app-nav__link{border-bottom:none;border-left:2px solid #0000;height:auto;padding:.375rem .75rem .375rem .5rem}.app-nav__link--active{border-bottom:none;border-left-color:var(--c-text)}.app-nav__user{display:none}}
