feat: finance page overhaul, file access fix for clients and subcontractors
- Finance (TeamInvoices): chart + stat cards, Overview/Expenses/Subcontractors/Invoices/Legacy tabs - Expenses tab: 70/30 card split with expense list + category breakdown, + Expense button - Overview tab: 3 cards dynamic height filling window, .md-compliant table headers and sticky heads - TaskDetail FileBrowser: role-based virtual paths so clients and subcontractors no longer get 403 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-5
@@ -11,7 +11,14 @@
|
||||
--motion-fast: 160ms;
|
||||
--motion-base: 220ms;
|
||||
--motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
||||
--h-control: 30px;
|
||||
--btn-height: 22px;
|
||||
--btn-padding-x: 12px;
|
||||
--btn-radius: 8px;
|
||||
--btn-font-size: 11px;
|
||||
--btn-font-weight: 500;
|
||||
--btn-letter-spacing: 0.8px;
|
||||
--btn-line-height: 1;
|
||||
--h-control: var(--btn-height);
|
||||
--sidebar-bg: #0d0d0d;
|
||||
--sidebar-text: #888888;
|
||||
--sidebar-active-text: #ffffff;
|
||||
@@ -997,10 +1004,10 @@ input.site-header-search[type="text"]:focus { border-color: var(--accent); }
|
||||
/* Buttons */
|
||||
.btn {
|
||||
display: inline-flex; align-items: center; gap: 6px;
|
||||
height: var(--h-control); padding: 0 12px; border-radius: 8px; font-size: 11px;
|
||||
font-weight: 500; cursor: pointer; border: 1px solid transparent;
|
||||
height: var(--btn-height); padding: 0 var(--btn-padding-x); border-radius: var(--btn-radius); font-size: var(--btn-font-size);
|
||||
font-weight: var(--btn-font-weight); cursor: pointer; border: 1px solid transparent;
|
||||
transition: all 0.15s; text-decoration: none; white-space: nowrap;
|
||||
font-family: inherit; line-height: 1; letter-spacing: 0.8px; text-transform: uppercase;
|
||||
font-family: inherit; line-height: var(--btn-line-height); letter-spacing: var(--btn-letter-spacing); text-transform: uppercase;
|
||||
}
|
||||
.btn:disabled {
|
||||
opacity: 0.65;
|
||||
@@ -1024,7 +1031,7 @@ input.site-header-search[type="text"]:focus { border-color: var(--accent); }
|
||||
@keyframes btn-spin {
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
.btn-sm { padding: 0 12px; font-size: 11px; line-height: 1; letter-spacing: 0.8px; text-transform: uppercase; }
|
||||
.btn-sm { padding: 0 var(--btn-padding-x); font-size: var(--btn-font-size); line-height: var(--btn-line-height); letter-spacing: var(--btn-letter-spacing); text-transform: uppercase; }
|
||||
.btn-primary { background: var(--accent); color: #111111; }
|
||||
.btn-primary:hover { background: var(--accent-hover); }
|
||||
.btn-outline { background: transparent; color: var(--text-primary); border: 1px solid var(--border); }
|
||||
|
||||
Reference in New Issue
Block a user