:root{--bg-color: var(--color-canvas);--card-bg: var(--color-surface);--header-bg: var(--color-surface);--text-primary: var(--color-ink);--text-secondary: var(--color-ink-muted);--accent-primary: var(--color-brand-500);--accent-secondary: var(--color-brand-700);--accent-text: var(--color-brand-ink);--income-color: var(--color-positive);--expense-color: var(--color-alert);--border-color: var(--color-line);--surface-hover: var(--color-sunken);--deep-surface: var(--color-steel-900);--deep-surface-line: var(--color-steel-700);--on-deep: #ffffff;--on-deep-soft: #d5d7d8;--on-deep-brand: var(--color-brand-400);--on-deep-alert: #ff9d8a;--income-tint: #eef6f3;--expense-tint: #fdf2ef;--shadow-card: 0 1px 2px rgba(63, 63, 64, .04), 0 8px 24px rgba(63, 63, 64, .06);--shadow-raised: 0 4px 12px rgba(63, 63, 64, .08), 0 16px 40px rgba(63, 63, 64, .1);--shadow-brand: 0 6px 16px rgba(255, 105, 0, .22)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);overflow-x:clip}.app-container{min-height:100vh;width:100%;display:flex;flex-direction:column}.header{position:sticky;top:0;overflow:hidden;background-color:var(--header-bg);color:var(--color-ink);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--color-line);z-index:500}.header-chain{position:absolute;right:0;bottom:0;left:58%;height:30px;pointer-events:none}.company-logo{display:flex;align-items:center;gap:.875rem;padding-right:1.5rem;position:relative;z-index:2}.logo-divider{width:1px;height:30px;background-color:var(--color-line-strong);flex-shrink:0}.company-info h1{font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:.01em;color:var(--color-ink);line-height:1.2}.sync-status{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-positive);display:flex;align-items:center;gap:.25rem}.header-actions{display:flex;align-items:center;gap:1.25rem;position:relative;z-index:2}.header-tabs{display:flex;background:var(--color-sunken);padding:.25rem;border-radius:10px}.tab{padding:.5rem 1.25rem;border:none;background:transparent;font-family:var(--font-main);font-weight:600;color:var(--color-ink-muted);cursor:pointer;border-radius:8px;transition:all .2s}.tab.active{background:var(--color-surface);color:var(--accent-text);box-shadow:var(--shadow-card)}.btn-refresh{background:transparent;border:none;color:var(--color-ink-muted);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;transition:all .2s}.btn-refresh:hover:not(:disabled){background-color:var(--color-brand-50);color:var(--accent-text)}.btn-refresh:disabled{opacity:.5}.btn-login,.btn-logout{padding:.5rem 1rem;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;border:1px solid transparent;font-family:var(--font-main)}.btn-login{background-image:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand)}.btn-login:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn-logout{background-color:transparent;border-color:var(--color-line-strong);color:var(--color-ink-soft)}.btn-logout:hover{border-color:var(--color-brand-300);color:var(--accent-text);background-color:var(--color-brand-50)}.logout-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.session-timer{font-size:.62rem;font-weight:700;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums}.language-selector{margin-right:-.5rem}.lang-select{background-color:var(--color-sunken);border:1px solid var(--color-line);border-radius:8px;padding:.4rem .5rem;font-family:var(--font-main);font-size:.85rem;font-weight:600;color:var(--color-ink-soft);cursor:pointer;outline:none;transition:all .2s;min-width:85px;text-align:center}.lang-select:hover{background-color:var(--color-surface);border-color:var(--color-brand-300);color:var(--accent-text)}.login-language-selector{position:absolute;top:1.25rem;right:1.25rem;z-index:3}.lang-select-login{background-color:var(--color-sunken);border:1px solid var(--color-line);border-radius:8px;padding:.4rem .6rem;font-family:var(--font-main);font-size:.85rem;font-weight:600;color:var(--color-ink-soft);cursor:pointer;outline:none;transition:all .2s;min-width:90px;text-align:center}.lang-select-login:hover{border-color:var(--color-brand-300);color:var(--accent-text)}.app-container.login-mode{display:grid;place-items:center;min-height:100vh;width:100vw;background-color:var(--color-canvas);margin:0;padding:1.5rem;overflow:hidden}.login-wrapper{display:contents}.login-prompt{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:3.5rem 3rem 3rem;text-align:center;background-color:var(--color-surface);border-radius:20px;border:1px solid var(--color-line);width:100%;max-width:420px;box-shadow:var(--shadow-raised)}.login-chain{position:absolute;top:0;left:0;right:0;height:22px}.login-prompt h2{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--color-ink);line-height:1.25}.login-prompt p{color:var(--color-ink-soft);font-size:.95rem;line-height:1.55;margin-bottom:.25rem}.login-prompt .login-logo,.timeout-modal .login-logo{align-self:center;margin-bottom:.25rem}.btn-login-large{background-image:var(--brand-gradient);color:#fff;border:none;padding:.85rem 1.9rem;border-radius:12px;font-family:var(--font-main);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-brand);margin-top:.25rem;letter-spacing:.02em}.btn-login-large:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 22px #ff69004d}.dashboard{padding:1.5rem 2rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100vw;overflow-x:hidden}.top-summary{background-color:var(--color-surface);border:1px solid var(--color-line);border-radius:18px;padding:1.5rem 2rem;display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 3rem;box-shadow:var(--shadow-card);color:var(--color-ink)}.balances-wrapper{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2.5rem}.balance-divider{width:1px;align-self:stretch;min-height:48px;background-color:var(--color-line)}.balance-card{display:flex;flex-direction:column;gap:.15rem}.card-label{font-size:.65rem;font-weight:600;color:var(--color-ink-muted);letter-spacing:.16em;text-transform:uppercase}.balance-value{display:flex;align-items:baseline;gap:.35rem}.balance-value .currency{font-size:.95rem;color:var(--accent-text);font-weight:700;letter-spacing:.06em}.balance-input{font-size:2.15rem;font-weight:800;font-family:var(--font-display);font-variant-numeric:tabular-nums;background:transparent;border:none;color:var(--color-ink);width:250px;max-width:100%;outline:none;padding:.15rem .5rem;border-radius:8px;transition:background-color .2s}.balance-input:hover,.balance-input:focus{background-color:var(--color-sunken)}.btn-new-entry{background-image:var(--brand-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:.5rem;font-family:var(--font-main);font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s,filter .2s,box-shadow .2s;box-shadow:var(--shadow-brand);margin-left:auto}.btn-new-entry:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 8px 22px #ff69004d}.row-detail td.expandable-sub{cursor:pointer;display:flex;align-items:center;gap:8px}.row-detail:hover{background-color:var(--color-steel-50)!important}.row-sub-detail{background-color:var(--color-steel-50)!important;font-size:.85rem}.row-sub-detail td{border-bottom:1px solid var(--color-line)}.row-sub-detail .sub-detail-name{padding-left:3rem;display:flex;align-items:center;gap:10px;color:var(--color-ink-muted);font-style:italic}.invoice-icon{color:var(--color-brand-500);opacity:.8}.empty-val{color:var(--color-ink-faint)!important;font-size:.75rem}.cashflow-table-container{overflow:auto;background-color:var(--color-surface);border-radius:18px;border:1px solid var(--color-line);box-shadow:var(--shadow-card);position:relative;-webkit-overflow-scrolling:touch;max-height:80vh}.cashflow-table-container.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;max-height:100vh;z-index:2000;border-radius:0;border:none;margin:0}.table-header-actions{position:absolute;top:1rem;right:1.5rem;z-index:100}.cashflow-table{min-width:100%;width:max-content;border-collapse:separate;border-spacing:0;text-align:left}.cashflow-table th{padding:1.25rem 1.5rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--color-ink-muted);border-bottom:1px solid var(--color-line-strong);background-color:var(--color-sunken);position:sticky;top:0;z-index:10;min-width:160px}.cashflow-table th .date{display:inline-block;margin-top:4px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--color-ink-soft);font-variant-numeric:tabular-nums}.header-controls-container{display:flex;flex-direction:column;gap:.6rem}.control-row-complex,.control-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background-color:var(--color-surface);padding:6px 12px;border-radius:10px;border:1px solid var(--color-line)}.control-main{display:flex;align-items:center;gap:1rem}.btn-fullscreen-toggle{background:var(--color-sunken);border:1px solid var(--color-line);color:var(--color-ink-muted);padding:4px;border-radius:8px;cursor:pointer;display:flex;transition:all .2s;align-self:center}.btn-fullscreen-toggle:hover{background-image:var(--brand-gradient);border-color:transparent;color:#fff}.label-with-icon{display:flex;align-items:center;gap:.5rem}.header-controls-container .label{font-size:.6rem;font-weight:700;letter-spacing:.12em;color:var(--color-ink-muted);white-space:nowrap}.input-group{display:flex;align-items:center;gap:.5rem}.unit-label{font-size:.75rem;font-weight:700;color:var(--accent-text)}.period-count-input{width:45px;background:transparent;border:none;border-bottom:2px solid var(--color-brand-500);color:var(--color-ink);font-family:var(--font-main);font-weight:700;font-size:.9rem;text-align:center;outline:none;padding:2px 0;font-variant-numeric:tabular-nums}.period-type-select{background:transparent;border:none;color:var(--accent-text);font-family:var(--font-main);font-weight:700;font-size:.85rem;cursor:pointer;outline:none;text-transform:uppercase;letter-spacing:.06em;text-align:right}.cashflow-table thead th{position:sticky;top:0;z-index:150;background-color:var(--color-sunken)!important}.cashflow-table thead th:nth-child(1),.cashflow-table thead th:nth-child(2){z-index:300!important;background-color:var(--color-sunken)!important}.cashflow-table th:nth-child(1),.cashflow-table td:nth-child(1){position:sticky;left:0;z-index:160;min-width:320px;background-color:var(--color-surface)}.cashflow-table th:nth-child(2),.cashflow-table td:nth-child(2){position:sticky;left:320px;z-index:160;min-width:150px;background-color:var(--color-surface);border-right:2px solid var(--color-line-strong)}.cashflow-table td{padding:1rem 1.5rem;font-size:.9rem;color:var(--color-ink);border-bottom:1px solid var(--color-line);background-color:var(--color-surface);font-variant-numeric:tabular-nums}.row-balance-start td{font-weight:600;color:var(--color-ink-soft);background-color:var(--color-steel-50)!important}.row-group{font-weight:700;cursor:pointer}.row-group:hover td{filter:brightness(.985)}.income td{background-color:var(--income-tint)}.income td:nth-child(1),.income td:nth-child(2){background-color:var(--income-tint)!important}.income .expandable,.income .value{color:var(--income-color)}.expense td{background-color:var(--expense-tint)}.expense td:nth-child(1),.expense td:nth-child(2){background-color:var(--expense-tint)!important}.expense .expandable,.expense .value{color:var(--expense-color)}.row-category{font-weight:600;cursor:pointer}.row-category td{padding-top:.75rem;padding-bottom:.75rem;font-size:.85rem;background-color:var(--color-steel-50)}.row-category td:nth-child(1),.row-category td:nth-child(2){background-color:var(--color-steel-50)!important}.row-entity{cursor:pointer}.row-entity td{padding-top:.5rem;padding-bottom:.5rem;font-size:.8rem;color:var(--color-ink-soft);background-color:var(--color-surface)}.row-entity td:nth-child(1),.row-entity td:nth-child(2){background-color:var(--color-surface)!important}.row-invoice{font-size:.75rem}.row-invoice td{padding-top:.4rem;padding-bottom:.4rem;color:var(--color-ink-muted);font-style:italic;background-color:var(--color-steel-25)}.row-invoice td:nth-child(1),.row-invoice td:nth-child(2){background-color:var(--color-steel-25)!important}.indent-1{padding-left:1.5rem;display:flex;align-items:center;gap:8px}.indent-2{padding-left:3rem;display:flex;align-items:center;gap:6px}.indent-3{padding-left:4.5rem;display:flex;align-items:center;gap:8px}.expandable,.expandable-cat,.expandable-entity{display:flex;align-items:center}.cashflow-table,.row-filler{height:100%}.row-filler td{position:static;min-width:0;padding:0;border-bottom:none;background-color:var(--color-surface)}.row-balance-end{position:sticky;bottom:0;z-index:400}.row-balance-end td{padding:1.6rem 1.5rem;font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--on-deep);border-bottom:none;border-top:1px solid var(--deep-surface-line);background-color:var(--deep-surface)!important}.row-balance-end td:nth-child(1),.row-balance-end td:nth-child(2){z-index:500!important;position:sticky;left:0;background-color:var(--deep-surface)!important}.row-balance-end td:nth-child(2){left:320px;border-right:2px solid var(--deep-surface-line)}.row-balance-end .subtext{display:block;margin-top:4px;font-family:var(--font-main);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-soft)}.value-total{font-size:1.4rem!important;color:var(--on-deep-brand)!important}.row-balance-end .value-total.negative,.row-balance-end .negative{color:var(--on-deep-alert)!important}.negative{color:var(--expense-color)!important}.positive{color:var(--income-color)}.charts-container{display:grid;grid-template-columns:1fr;gap:1.5rem}.chart-card{position:relative;overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-line);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow-card)}.chart-card h3{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink);margin-bottom:1.25rem}.chart-card .title-icon{color:var(--color-brand-500)}.chart-chain{position:absolute;right:0;bottom:0;left:40%;height:26px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:5rem 1rem;color:var(--color-ink-muted)}.loading-state svg{color:var(--color-brand-500)}.loading-state p{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#3f3f4073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:2100}.modal-content{background-color:var(--color-surface);width:100%;max-width:500px;max-height:92vh;overflow-y:auto;border-radius:20px;border:1px solid var(--color-line);box-shadow:var(--shadow-raised);animation:modalAppear .3s cubic-bezier(.16,1,.3,1)}@keyframes modalAppear{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{position:relative;overflow:hidden;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-line)}.modal-chain{position:absolute;top:0;left:0;right:0;height:18px}.modal-header h2{font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:.02em;color:var(--color-ink);margin:0}.btn-close{background:var(--color-sunken);border:none;color:var(--color-ink-muted);padding:8px;border-radius:10px;cursor:pointer;transition:all .2s;display:flex}.btn-close:hover{background:var(--color-alert-soft);color:var(--color-alert)}.entry-form{padding:2rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.68rem;font-weight:700;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.14em}.entry-form input,.entry-form select{background-color:var(--color-sunken);border:1px solid var(--color-line);border-radius:12px;padding:.85rem 1rem;font-family:var(--font-main);color:var(--color-ink);font-size:.95rem;outline:none;transition:all .2s}.entry-form input::placeholder{color:var(--color-ink-faint)}.entry-form input:focus,.entry-form select:focus{border-color:var(--color-brand-400);background-color:var(--color-surface);box-shadow:0 0 0 3px #ff690024}.form-group-row{display:flex;flex-wrap:wrap;gap:1rem}.flex-1{flex:1;min-width:0}.flex-2{flex:2;min-width:0}.input-with-icon{position:relative;display:flex;align-items:center}.label-with-actions{display:flex;align-items:center;gap:8px;margin-bottom:0}.label-with-actions label{margin-bottom:0!important}.category-actions-inline{display:flex;gap:4px}.btn-icon-xs{background:var(--color-sunken);border:1px solid var(--color-line);color:var(--color-ink-muted);padding:2px 6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon-xs:hover{background-image:var(--brand-gradient);border-color:transparent;color:#fff}.category-select-full{width:100%}.invoice-container{display:flex;align-items:center;gap:8px;width:100%}.invoice-label{flex:1}.value-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.btn-edit-cell{position:absolute;right:-10px;background-image:var(--brand-gradient);border:none;color:#fff;padding:2px;border-radius:6px;cursor:pointer;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:5}td:hover .btn-edit-cell{opacity:1;right:-5px}.btn-delete-entry{background:transparent;border:1px solid var(--color-alert-line);color:var(--color-alert);padding:8px 16px;border-radius:10px;font-family:var(--font-main);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-delete-entry:hover{background:var(--color-alert);border-color:var(--color-alert);color:#fff}.edit-scope-warning{margin-top:1rem;padding:.85rem 1rem;background:var(--color-steel-50);border:1px solid var(--color-line);border-left:3px solid var(--color-brand-500);border-radius:0 12px 12px 0;display:flex;gap:12px;color:var(--color-ink-soft);font-size:.85rem}.edit-scope-warning svg{color:var(--color-brand-500);flex-shrink:0}.scope-options{margin-top:8px;display:flex;flex-direction:column;gap:6px}.scope-options label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-ink-soft)}.scope-options input[type=radio]{accent-color:var(--color-brand-500)}.spacer{flex:1}.category-creation-group{display:flex;gap:4px;align-items:center}.category-creation-group input{flex:1;padding:8px!important}.btn-confirm-cat{background:var(--color-positive);border:none;color:#fff;padding:8px 12px;border-radius:8px;font-family:var(--font-main);font-weight:700;cursor:pointer}.btn-cancel-cat{background:transparent;border:1px solid var(--color-line-strong);color:var(--color-ink-muted);padding:8px 12px;border-radius:8px;font-family:var(--font-main);font-weight:700;cursor:pointer}.btn-cancel-cat:hover{border-color:var(--color-alert-line);color:var(--color-alert)}.input-with-icon .icon{position:absolute;left:1rem;color:var(--color-ink-faint)}.input-with-icon input,.input-with-icon select{padding-left:2.8rem;width:100%}.currency-label-inner{position:absolute;left:1rem;font-weight:700;font-size:.75rem;letter-spacing:.06em;color:var(--accent-text)}.currency-select{position:absolute;right:5px;border:none!important;background:var(--color-surface)!important;border-radius:8px!important;padding:6px 10px!important;font-size:.8rem!important;font-weight:600;color:var(--color-ink-soft)!important;width:auto!important}.modal-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-primary,.btn-secondary{padding:.85rem 1.5rem;border-radius:12px;font-family:var(--font-main);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;border:1px solid transparent;flex:1}.btn-primary{background-image:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 8px 22px #ff69004d}.btn-primary:disabled,.btn-login-large:disabled,.btn-new-entry:disabled{background-image:none;background-color:var(--color-sunken);color:var(--color-ink-faint);box-shadow:none;cursor:not-allowed;transform:none;filter:none}.btn-secondary{background-color:transparent;border-color:var(--color-line-strong);color:var(--color-ink-soft)}.btn-secondary:hover{border-color:var(--color-brand-300);color:var(--accent-text);background-color:var(--color-brand-50)}.recurrence-details-box{background-color:var(--color-steel-50);border:1px solid var(--color-line);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;margin-top:-.25rem}.recurrence-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px;flex-wrap:wrap}.check-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.9rem;color:var(--color-ink-soft);-webkit-user-select:none;user-select:none;flex:1}.check-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--color-line-strong);border-radius:6px;background:var(--color-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin:0;padding:0!important;flex-shrink:0}.check-label input[type=checkbox]:checked{background-color:var(--color-brand-500);border-color:var(--color-brand-500)}.check-label input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:800;line-height:1}.installment-inputs{display:flex;align-items:center;gap:8px}.short-input{width:60px!important;padding:.5rem .75rem!important;font-size:.85rem!important;text-align:center;border-radius:10px!important}.of-text{font-size:.8rem;color:var(--color-ink-muted);font-weight:600;text-transform:lowercase}.date-input-small{width:140px!important;padding:.5rem .75rem!important;font-size:.85rem!important;border-radius:10px!important}.overdue-container{background-color:var(--color-surface);border-radius:18px;border:1px solid var(--color-line);padding:1.5rem;box-shadow:var(--shadow-card)}.overdue-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-line)}.overdue-title{display:flex;align-items:center;gap:.75rem}.overdue-title h3{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink)}.overdue-count{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);background:var(--color-sunken);padding:4px 12px;border-radius:100px;border:1px solid var(--color-line)}.overdue-table-wrapper{overflow-x:auto}.overdue-table{width:100%;border-collapse:collapse}.overdue-table th{text-align:left;font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--color-ink-muted);padding:.75rem 1rem;border-bottom:1px solid var(--color-line-strong);white-space:nowrap}.overdue-table td{padding:.85rem 1rem;font-size:.85rem;color:var(--color-ink);border-bottom:1px solid var(--color-line);font-variant-numeric:tabular-nums}.row-overdue-income:hover,.row-overdue-expense:hover{background-color:var(--color-steel-50)}.status-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:6px;letter-spacing:.06em;text-transform:uppercase}.status-badge.income{background:var(--color-positive-soft);border:1px solid var(--color-positive-line);color:var(--color-positive)}.status-badge.expense{background:var(--color-alert-soft);border:1px solid var(--color-alert-line);color:var(--color-alert)}.text-right{text-align:right!important}.text-secondary{color:var(--color-ink-muted)}.italic{font-style:italic}.font-medium{font-weight:500}.font-bold{font-weight:700}.overdue-table th svg{vertical-align:middle;margin-right:4px;color:var(--color-brand-500)}.btn-floating-add{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background-image:var(--brand-gradient);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px #ff690059;z-index:3000;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-floating-add:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 8px 26px #ff690073}.btn-floating-add:active{transform:scale(.95)}.timeout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#3f3f4073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:10000;animation:fadeIn .3s ease-out}.timeout-modal{position:relative;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-line);border-radius:20px;padding:3rem 2.5rem 2.5rem;max-width:450px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem;box-shadow:var(--shadow-raised);animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1)}.timeout-modal h2{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--color-ink)}.timeout-modal p{color:var(--color-ink-soft);font-size:1rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.status-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#3f3f4073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:3000;animation:fadeIn .2s ease-out}.status-modal-content{position:relative;overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-line);border-radius:18px;padding:2.5rem;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-raised);display:flex;flex-direction:column;align-items:center;gap:1rem;animation:slideUp .3s ease-out}.status-icon{padding:1rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-icon.success{background-color:var(--color-positive-soft)}.status-icon.error{background-color:var(--color-alert-soft)}.status-modal-content h2{font-family:var(--font-display);font-size:1.4rem;font-weight:800;letter-spacing:.02em;color:var(--color-ink)}.status-modal-content p{color:var(--color-ink-soft);line-height:1.6;font-size:.98rem;margin-bottom:.25rem}.btn-status-confirm{width:100%;padding:.8rem;border-radius:12px;font-family:var(--font-main);font-weight:600;font-size:1rem;cursor:pointer;border:1px solid transparent;transition:all .2s;margin-top:.25rem;color:#fff}.btn-status-confirm.success{background-image:var(--brand-gradient);box-shadow:var(--shadow-brand)}.btn-status-confirm.success:hover{filter:brightness(1.04);transform:translateY(-2px)}.btn-status-confirm.error{background-color:var(--color-alert)}.btn-status-confirm.error:hover{filter:brightness(1.05);transform:translateY(-2px)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 900px){.header-chain,.chart-chain{display:none}.header{padding:.875rem 1rem;flex-wrap:wrap;gap:.75rem}.company-logo{padding-right:.75rem}.header-actions{gap:.75rem;margin-left:auto}.lang-select{min-width:70px;padding:.35rem}.dashboard{padding:1rem 1rem 2rem;gap:1rem}.top-summary{padding:1.25rem;gap:1.25rem}.balances-wrapper{width:100%;gap:1.25rem}.balance-divider{display:none}.balance-input{font-size:1.75rem;width:100%;padding-left:0}.btn-new-entry{width:100%;justify-content:center;margin-left:0}.cashflow-table th,.cashflow-table td{padding:.85rem 1rem}.cashflow-table th:nth-child(1),.cashflow-table td:nth-child(1){min-width:220px}.cashflow-table th:nth-child(2),.cashflow-table td:nth-child(2){left:220px;min-width:120px}.row-balance-end td:nth-child(2){left:220px}.entry-form{padding:1.5rem}.login-prompt{padding:3rem 1.75rem 2.25rem}.btn-floating-add{bottom:1.25rem;right:1.25rem;width:54px;height:54px}}:root{--color-brand-50: #fff4ec;--color-brand-100: #ffe4d1;--color-brand-200: #ffc7a2;--color-brand-300: #ffa469;--color-brand-400: #ff8534;--color-brand-500: #ff6900;--color-brand-600: #ed6109;--color-brand-700: #d86018;--color-brand-800: #b04d12;--color-brand-900: #8a3d10;--color-brand-ink: #bf5308;--brand-gradient: linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-brand-700) 100%);--color-steel-25: #fbfbfb;--color-steel-50: #f6f7f7;--color-steel-100: #eeeff0;--color-steel-200: #e2e4e5;--color-steel-300: #ccd0d1;--color-steel-400: #a7acae;--color-steel-500: #7f8588;--color-steel-600: #666c6f;--color-steel-700: #55595b;--color-steel-800: #47494a;--color-steel-900: #3f3f40;--color-steel-950: #2a2a2b;--color-canvas: #f7f8f8;--color-surface: #ffffff;--color-sunken: #f2f3f3;--color-line: #e5e7e8;--color-line-strong: #ccd0d1;--color-ink: #2a2a2b;--color-ink-soft: #55595b;--color-ink-muted: #7f8588;--color-ink-faint: #a7acae;--color-positive: #0f7a5f;--color-positive-soft: #e8f4f0;--color-positive-line: #b7ddd1;--color-alert: #b4341c;--color-alert-soft: #fdeeeb;--color-alert-line: #f2c7bd;--font-main: "Barlow", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Raleway", "Barlow", ui-sans-serif, system-ui, sans-serif;font-family:var(--font-main);line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-ink);background-color:var(--color-canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-canvas);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px;border-radius:.375rem}::selection{background-color:var(--color-brand-200);color:var(--color-steel-950)}::marker{color:var(--color-brand-300)}input,select,textarea{caret-color:var(--color-brand-500)}.chain-band{--chain-url: url(/brand/athletic-chain.svg);display:block;pointer-events:none;background-image:var(--brand-gradient);-webkit-mask-image:var(--chain-url);mask-image:var(--chain-url);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:auto 100%;mask-size:auto 100%;-webkit-mask-position:left center;mask-position:left center}.chain-band--fill{width:100%;height:100%}.chain-band.outline{--chain-url: url(/brand/athletic-chain-outline.svg)}.brand-eyebrow{font-family:var(--font-main);font-weight:400;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted)}.brand-eyebrow strong{font-weight:700;color:var(--color-brand-ink)}.brand-notice{border-left:2px solid var(--color-brand-500);border-radius:0 .5rem .5rem 0;background-color:var(--color-steel-50);color:var(--color-ink-muted);padding:.5rem .75rem}.brand-wordmark{display:block;width:auto;max-width:100%;flex-shrink:0;align-self:flex-start}.brand-wordmark--light{display:inline-block;background-color:#fff;-webkit-mask-image:url(/brand/athletic-wordmark.png);mask-image:url(/brand/athletic-wordmark.png);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.brand-lockup{display:flex;align-items:center;gap:.875rem;padding:.25rem 1rem .25rem 0}.scroll-subtle,.cashflow-table-container,.overdue-table-wrapper{scrollbar-width:thin;scrollbar-color:var(--color-steel-300) transparent}.scroll-subtle::-webkit-scrollbar,.cashflow-table-container::-webkit-scrollbar,.overdue-table-wrapper::-webkit-scrollbar{width:10px;height:10px}.scroll-subtle::-webkit-scrollbar-track,.cashflow-table-container::-webkit-scrollbar-track,.overdue-table-wrapper::-webkit-scrollbar-track{background:transparent}.scroll-subtle::-webkit-scrollbar-thumb,.cashflow-table-container::-webkit-scrollbar-thumb,.overdue-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-steel-300);border-radius:9999px;border:3px solid transparent;background-clip:content-box}.scroll-subtle:hover::-webkit-scrollbar-thumb,.cashflow-table-container:hover::-webkit-scrollbar-thumb,.overdue-table-wrapper:hover::-webkit-scrollbar-thumb{background-color:var(--color-steel-400)}
