:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{background:#f5f6f8;min-height:100vh;margin:0;padding:0}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:420px;padding:32px 36px;box-shadow:0 8px 32px #0000000f}.login-card h1{margin:0 0 6px;font-size:26px;font-weight:600}.user-chip{color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12px;display:flex}.user-chip img{border-radius:50%;width:22px;height:22px}.user-chip button.btn-link{color:#6b7280;background:0 0;border:0;padding:0 2px;font-size:14px}.user-chip button.btn-link:hover{color:#111827}.health-badge{position:relative}.health-dot{background:#fff;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;display:inline-flex}.health-ok .health-dot{color:#047857}.health-warn .health-dot{color:#b45309}.health-bad .health-dot{color:#b91c1c}.health-dot:hover{background:#f9fafb}.health-popover{z-index:30;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;width:280px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:30px;right:0;box-shadow:0 10px 30px #00000014}.health-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.health-popover hr{border:0;border-top:1px solid #f3f4f6;margin:6px 0}.app{max-width:100%;min-height:100vh;padding:16px 20px 60px}.with-drawer{margin-right:520px}.app-header{align-items:center;gap:16px;margin-bottom:12px;display:flex}.header-spacer{flex:1}.app-header h1{margin:0;font-size:22px;font-weight:600}.tabs{gap:4px;display:flex}.tab{color:#4b5563;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-weight:500}.tab:hover{background:#f3f4f6}.tab.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.tasks-page{flex-direction:column;gap:8px;display:flex}.tasks-toolbar{justify-content:flex-end;display:flex}.quick-add{gap:0;margin-bottom:4px;display:flex}.quick-add input[type=text]{background:#fff;border:1px solid #d1d5db;border-right:0;border-radius:8px 0 0 8px;flex:1;padding:10px 14px;font-size:14px}.quick-add input[type=text]:focus{border-color:#4f46e5;outline:none}.quick-add-btn{color:#fff;background:#4f46e5;border:0;border-radius:0 8px 8px 0;padding:0 18px;font-size:22px;font-weight:400;line-height:1}.quick-add-btn:hover:not(:disabled){background:#4338ca}.quick-add-btn:disabled{cursor:not-allowed;background:#c7d2fe}.btn-primary{color:#fff;background:#4f46e5;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500}.btn-primary:hover{background:#4338ca}.new-task-form{background:#fff;border:1px solid #c7d2fe;border-radius:8px;gap:10px;padding:14px}.new-task-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.new-task-head h3{text-transform:uppercase;letter-spacing:.5px;color:#374151;margin:0;font-size:14px}.tx-search-wrap{flex-direction:column;gap:4px;display:flex;position:relative}.tx-search-label{text-transform:uppercase;letter-spacing:.5px}.tx-search-wrap input[type=text]{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px}.tx-pill{background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;display:flex}.tx-dropdown{z-index:10;background:#fff;border:1px solid #d1d5db;border-radius:6px;max-height:280px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000014}.tx-dropdown .p-8{padding:8px 12px}.tx-result{text-align:left;background:0 0;border:0;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;padding:6px 10px;font-size:12px;display:flex}.tx-result:last-child{border-bottom:0}.tx-result:hover{background:#eef2ff}.tasks-stats{padding:0 4px}.tasks-page-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tasks-page-list .empty{text-align:center;background:#fff;border:1px dashed #e5e7eb;border-radius:8px;padding:32px}.task-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:24px 1fr 28px;gap:10px;padding:10px 14px;display:grid}.task-card.editing{border-color:#6366f1;box-shadow:0 4px 16px #4f46e514}.task-card.prio-high{border-left:3px solid #dc2626}.task-card.prio-low{border-left:3px solid #cbd5e1}.task-card-body{cursor:pointer}.task-text-row{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.prio-pill{border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.prio-pill.prio-high{color:#dc2626;background:#fee2e2}.prio-pill.prio-low{color:#64748b;background:#f1f5f9}.due-pill{color:#4b5563;background:#f3f4f6;border-radius:10px;padding:2px 7px;font-size:11px}.due-pill.overdue{color:#dc2626;background:#fee2e2;font-weight:500}.task-editor-wrap{border-top:1px dashed #e5e7eb;grid-column:1/-1;margin-top:8px;padding-top:10px}.task-editor{flex-direction:column;gap:8px;display:flex}.task-editor textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px}.editor-row{gap:8px;display:flex}.editor-field{flex-direction:column;flex:1;gap:3px;display:flex}.editor-field.grow-2{flex:2}.editor-field label{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;font-size:11px}.editor-field input,.editor-field select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px}.editor-actions{align-items:center;gap:10px;display:flex}.task-card.task-done{opacity:.7;background:#fafafa}.task-card.task-done .task-text{color:#9ca3af;text-decoration:line-through}.task-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.tx-link{color:#1f2937;text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:4px;padding:6px 10px;font-size:12px;display:flex}.tx-link:hover{background:#eef2ff;border-color:#c7d2fe}.amount-mini{font-variant-numeric:tabular-nums;font-weight:600}.btn-link{color:#4b5563;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:12px}.btn-link:hover{background:#f3f4f6}.sales-page,.cost-page{flex-direction:column;gap:12px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.kpi{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;font-size:11px}.kpi-value{font-variant-numeric:tabular-nums;color:#111827;font-size:22px;font-weight:600}.kpi-sub{margin-top:2px}.kpi-out .kpi-value{color:#b91c1c}.kpi-in .kpi-value{color:#047857}.sales-top-grid{grid-template-columns:3fr 2fr;align-items:start;gap:12px;display:grid}.sales-right-stack,.sales-left-stack{flex-direction:column;gap:12px;min-width:0;display:flex}.report-table.compact thead th,.report-table.compact tbody td{padding:5px 8px;font-size:12px}@media (width<=1100px){.sales-top-grid{grid-template-columns:1fr}}.sales-filters{align-items:center}.sales-month-row{align-items:center;gap:8px;display:flex}.sales-month-row button{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:28px;height:28px;font-size:14px}.sales-month-row button:hover{background:#f3f4f6}.sales-month-label{text-align:center;text-transform:capitalize;min-width:140px;font-weight:500}.card-head{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.card-head h3{margin:0}.btn-link.inline{color:#4b5563;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.btn-link.inline:hover{color:#111827}.report-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.report-table thead th{text-align:left;background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:7px 10px;font-size:12px;font-weight:600}.report-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-table .small-col{width:60px}.report-table .small-col-2{color:#6b7280;width:90px;font-weight:500}.report-table .group-head{color:#6b7280;border-left:1px solid #e5e7eb;font-weight:500;text-align:center!important}.report-table tbody td.muted{color:#6b7280}.amount-out{color:#b91c1c;font-weight:500}.contacts-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.contacts-list li{border-bottom:1px dashed #ececec;grid-template-columns:90px 1fr;gap:8px;padding:4px 0;font-size:13px;display:grid}.contacts-list li:last-child{border-bottom:0}.summary-pre{white-space:pre-wrap;color:#4b5563;margin:0;font-family:inherit;font-size:12px}.label-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.label-edit input[type=text]{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:160px;padding:6px 10px}.report-table tbody td{border-bottom:1px solid #f3f4f6;padding:6px 10px}.report-table tbody tr:hover{background:#fafafa}.report-table tfoot th{text-align:left;background:#f9fafb;border-top:2px solid #e5e7eb;padding:8px 10px}.report-table tfoot th.num{text-align:right}.report-table .empty{color:#9ca3af;text-align:center;padding:24px}.report-table .group-row{cursor:pointer;background:#f9fafb;font-weight:500}.report-table .group-row:hover{background:#f1f5f9}.report-table .group-line td.indent{color:#4b5563;padding-left:30px}.report-table .caret{color:#6b7280;width:12px;display:inline-block}.report-table tbody tr.tx-row.selected{background:#eef2ff}.picked-banner{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;align-items:center;gap:10px;margin-bottom:8px;padding:6px 12px;font-size:12px;display:flex}.sync-wrap{position:relative}.sync-btn{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.sync-btn:hover:not(:disabled){background:#d1fae5}.sync-btn:disabled{cursor:progress;opacity:.85}.spinner{border:2px solid #065f46;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sync-popover{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:10px;width:360px;margin-top:6px;padding:12px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #00000014}.sync-row{align-items:center;gap:6px;display:flex}.sync-row label{color:#6b7280;font-size:12px}.sync-row input[type=date]{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:4px 8px}.sync-presets{gap:6px;display:flex}.sync-presets button{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex:1;padding:4px 8px;font-size:12px}.sync-presets button:hover{background:#f3f4f6}.sync-checkbox{color:#4b5563;align-items:center;gap:6px;font-size:12px;display:flex}.sync-go{color:#fff;background:#4f46e5;border:0;border-radius:6px;padding:8px 14px;font-weight:500}.sync-go:disabled{opacity:.5}.sync-result{border-top:1px solid #e5e7eb;flex-direction:column;gap:4px;padding-top:8px;display:flex}.sync-totals{flex-direction:column;gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.sync-totals li{justify-content:space-between;padding:2px 0;display:flex}.filters{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-group label{text-transform:uppercase;color:#6b7280;letter-spacing:.5px;font-size:11px}.filter-group input[type=date],.filter-group input[type=text],.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:140px;padding:6px 8px}.filter-group select{min-width:200px}.filter-search input{min-width:280px}.filter-group:has(span){flex-direction:row;align-items:center;gap:6px}.table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}table.tx-table{border-collapse:collapse;width:100%;font-size:13px}.tx-table thead th{text-align:left;color:#374151;z-index:1;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 10px;font-size:12px;font-weight:600;position:sticky;top:0}.tx-table tbody td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:7px 10px}.tx-table tbody tr.tx-row{cursor:pointer}.tx-table tbody tr.tx-row:hover{background:#f3f4f6}.tx-table tbody tr.tx-row.selected{background:#eef2ff}.tx-table tbody td.empty{color:#9ca3af;text-align:center;padding:24px}.num{text-align:right;font-variant-numeric:tabular-nums}.amount{font-weight:600}.tx-row.in .amount{color:#047857}.tx-row.out .amount{color:#b91c1c}.tx-row.transfer .amount{color:#6b7280}.task-col{text-align:center;color:#6b7280;width:40px}.row-sub{color:#6b7280;margin-top:2px;font-size:11px;font-style:italic}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted{color:#9ca3af}.small{font-size:12px}.pagination{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:4px 10px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:8px 0;padding:8px 12px;font-size:13px}.drawer{z-index:10;background:#fff;border-left:1px solid #e5e7eb;flex-direction:column;width:500px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-8px 0 24px #0000000f}.drawer-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:12px 14px;display:flex}.drawer-header h2{flex:1;margin:0;font-size:16px;font-weight:600}.drawer-close{color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:6px;width:30px;height:30px;font-size:16px}.drawer-close:hover{background:#f3f4f6}.drawer-content{flex-direction:column;flex:1;gap:12px;padding:12px 14px;display:flex;overflow-y:auto}.card{background:#fafafa;border:1px solid #ececec;border-radius:8px;padding:12px 14px}.card h3{color:#374151;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:13px;font-weight:600}.amount-big{font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:22px;font-weight:700}.amount-1{color:#047857}.amount--1{color:#b91c1c}.amount-0{color:#6b7280}.field{border-bottom:1px dashed #ececec;grid-template-columns:130px 1fr;gap:8px;padding:4px 0;font-size:13px;display:grid}.field:last-child{border-bottom:0}.field-label{color:#6b7280;font-size:12px}.field-value{color:#1f2937;word-wrap:break-word}.task-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task{background:#fff;border:1px solid #ececec;border-radius:6px;grid-template-columns:24px 1fr 24px;gap:8px;padding:8px 10px;display:grid}.task-done .task-text{color:#9ca3af;text-decoration:line-through}.task-check{padding-top:1px}.task-text{white-space:pre-wrap;margin-bottom:4px;font-size:13px}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.meta-pill{color:#3730a3;background:#eef2ff;border-radius:10px;padding:2px 7px;font-size:11px}.meta-pill.cat{color:#92400e;background:#fef3c7}.meta-pill.tag{color:#0e7490;background:#ecfeff}.task-del{color:#9ca3af;background:0 0;border:0;font-size:14px}.task-del:hover{color:#b91c1c}.task-form{flex-direction:column;gap:8px;display:flex}.task-form textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px}.task-form-row{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.task-form-row input,.task-form-row select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:6px 8px}.task-form button[type=submit]{color:#fff;background:#4f46e5;border:0;border-radius:6px;align-self:flex-start;padding:7px 14px;font-weight:500}.task-form button[type=submit]:disabled{cursor:not-allowed;background:#c7d2fe}
