Mobile Phase 7: theme-conformance pass — light-flip + retire legacy badges
Route remaining hardcoded UI colors through themed :root vars so they flip under [data-theme="light"], finishing the P6 light-theme migration. - Mobile: bottom-tab-bar -> --nav-bg; toast bottom-center above the tab bar, rising in via a new slideInUp keyframe. - Money: --money for the kanban/pipeline-stage/stat amount literals. - Badges: remap the legacy Material .badge-* family onto the brand StageChip/--chip-* + --badge-priority/-danger slots, retiring the second palette (DESIGN sections 2/7). - Desktop-light: logout/danger buttons, table hover/stripe/footer, sidebar & header gradients, scrollbars, toast states, context-menu danger, thesis banner/accents, grid selection & drag indicators, skeleton loaders. 28 new themed vars (theme-stable ones dark-only); dark appearance preserved. Frontend-only. Verified via CSSOM render-smoke, var resolution, brace check; reviewer approve-with-nits (toast-rise fixed). Unverified on a real device. Also refresh AGENTS.md Current state and add a ROADMAP legacy-usage-sweep note.
This commit is contained in:
+150
-81
@@ -83,6 +83,7 @@
|
||||
--btn-secondary-hover: #3b4e63;
|
||||
--badge-priority-bg: #f59e0b22;
|
||||
--badge-priority-text: #fcd34d;
|
||||
--badge-danger-bg: #dc262622; /* high-priority badge fill (text = --danger-text) */
|
||||
/* pipeline-stage chips — bg / text / border (comp stageColors) */
|
||||
--chip-lead-bg: #70859b22; --chip-lead-text: #8ea2b7; --chip-lead-border: #2635488a;
|
||||
--chip-engaged-bg: #3b82c422; --chip-engaged-text: #93c5fd; --chip-engaged-border: #3b82c44d;
|
||||
@@ -92,6 +93,33 @@
|
||||
/* reminder status badges (open/snoozed/done/cancelled) — light values derived,
|
||||
since the comp models reminder URGENCY rather than these four statuses */
|
||||
--rem-open: #7fb0d3; --rem-snoozed: #b08fd3; --rem-done: #7fd3a3; --rem-cancelled: #70859b;
|
||||
/* --- Phase 7 (2026-06-19): leftover literals that didn't flip in P6 (DESIGN §8). --- */
|
||||
--nav-bg: rgba(17, 26, 39, 0.92); /* mobile bottom-tab-bar */
|
||||
--panel-grad-end: #101926; /* sidebar / header gradient bottom stop */
|
||||
--header-grad-top: #121d2b; /* header gradient top stop */
|
||||
--accent-grad-end: #295f91; /* sub-nav active gradient (theme-stable accent) */
|
||||
--logout-bg: #7f1d1d; /* destructive logout button */
|
||||
--logout-bg-hover: #991b1b;
|
||||
--table-stripe: #101b28; /* table even-row */
|
||||
--table-hover: #172435; /* table row hover */
|
||||
--table-foot-bg: #0f1b2a; /* sticky aggregate footer */
|
||||
--grid-shell-bg: #0c141f; /* grid viewport container + its scrollbar track */
|
||||
--scrollbar-track: #0f1723; /* scrollbar gutter / recessed thumb edge */
|
||||
--scrollbar-thumb: #2b3f54; /* grid scrollbar thumb */
|
||||
--toast-error-bg: #1f1a1a; --toast-error-border: #7f1d1d;
|
||||
--toast-success-bg: #1a1f1a; --toast-success-border: #15803d;
|
||||
--ctx-danger-hover-bg: #3b1b24; /* context-menu destructive hover */
|
||||
--ctx-danger-hover-text: #ffd3d3;
|
||||
--thesis-banner-bg: #1a2233;
|
||||
--locked-cell-bg: rgba(143, 75, 75, 0.12); /* desktop grid cell locked-by-other */
|
||||
/* Phase 7b — desktop component literals (sidebar nav / grid interactions / thesis). */
|
||||
--nav-active-glow: #6ea6d455; /* accent inset glow on active nav (theme-stable) */
|
||||
--accent-bright: #4a9adf; /* selection / drag indicators (theme-stable accent) */
|
||||
--accent-wash: #3b82c455; /* accent hover/glow wash (theme-stable) */
|
||||
--danger-btn-bg: #dc2626; /* solid destructive button (theme-stable) */
|
||||
--danger-btn-bg-hover: #b91c1c;
|
||||
--cell-selected-bg: #1a2a3c; /* grid selected-cell fill (flips) */
|
||||
--cell-selected-glow: #9ac7ec40; /* grid selected-cell inset glow (flips) */
|
||||
}
|
||||
|
||||
/* Light theme (P6, adopted 2026-06-19). Dark stays the default + brand identity; a
|
||||
@@ -124,12 +152,33 @@
|
||||
--btn-secondary-hover: #dde5ef;
|
||||
--badge-priority-bg: #e08e0922;
|
||||
--badge-priority-text: #a76a07;
|
||||
--badge-danger-bg: #c0322f1f;
|
||||
--chip-lead-bg: #5a6b7d14; --chip-lead-text: #5a6b7d; --chip-lead-border: #d6dde7;
|
||||
--chip-engaged-bg: #3b82c416; --chip-engaged-text: #2266a0; --chip-engaged-border: #bcd2ea;
|
||||
--chip-diligence-bg: #e0b34122; --chip-diligence-text: #8a6c12; --chip-diligence-border: #e4d29a;
|
||||
--chip-commitment-bg: #10b98118; --chip-commitment-text: #057a55; --chip-commitment-border: #a9ddca;
|
||||
--chip-default-bg: #5a6b7d12; --chip-default-text: #84909e; --chip-default-border: #d6dde7;
|
||||
--rem-open: #2266a0; --rem-snoozed: #7a4fa8; --rem-done: #057a55; --rem-cancelled: #84909e;
|
||||
/* Phase 7 light overrides (accent-grad-end is theme-stable → dark only). */
|
||||
--nav-bg: #ffffffd9;
|
||||
--panel-grad-end: #f4f7fb;
|
||||
--header-grad-top: #ffffff;
|
||||
--logout-bg: #fbe2e2;
|
||||
--logout-bg-hover: #f6cccc;
|
||||
--table-stripe: #f1f5f9;
|
||||
--table-hover: #e3e9f1;
|
||||
--table-foot-bg: #f4f7fb;
|
||||
--grid-shell-bg: #eef2f7;
|
||||
--scrollbar-track: #dfe6ef;
|
||||
--scrollbar-thumb: #c2cdda;
|
||||
--toast-error-bg: #fdeeee; --toast-error-border: #d99a9a;
|
||||
--toast-success-bg: #edf7f0; --toast-success-border: #9cc9ad;
|
||||
--ctx-danger-hover-bg: #fbe4e4;
|
||||
--ctx-danger-hover-text: #c0322f;
|
||||
--thesis-banner-bg: #f4f7fb;
|
||||
--locked-cell-bg: rgba(192, 50, 47, 0.10);
|
||||
--cell-selected-bg: #dbe8f5;
|
||||
--cell-selected-glow: #2f6ea955;
|
||||
}
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
@@ -154,7 +203,7 @@
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: linear-gradient(180deg, var(--bg-panel) 0%, #101926 100%);
|
||||
background: linear-gradient(180deg, var(--bg-panel) 0%, var(--panel-grad-end) 100%);
|
||||
border-right: 1px solid var(--border);
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
@@ -239,13 +288,13 @@
|
||||
.nav-item.active {
|
||||
background: linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);
|
||||
color: white;
|
||||
box-shadow: inset 0 0 0 1px #6ea6d455;
|
||||
box-shadow: inset 0 0 0 1px var(--nav-active-glow);
|
||||
}
|
||||
|
||||
.nav-item-icon {
|
||||
font-size: 14px;
|
||||
min-width: 24px;
|
||||
color: #89a9c4;
|
||||
color: var(--text-muted);
|
||||
font-family: 'IBM Plex Mono', monospace;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
@@ -280,7 +329,7 @@
|
||||
}
|
||||
|
||||
.sub-nav-item.active {
|
||||
background: linear-gradient(180deg, var(--accent-strong) 0%, #295f91 100%);
|
||||
background: linear-gradient(180deg, var(--accent-strong) 0%, var(--accent-grad-end) 100%);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -289,7 +338,7 @@
|
||||
}
|
||||
|
||||
.sub-nav-item.view-drag-over {
|
||||
box-shadow: inset 0 2px 0 #4a9adf;
|
||||
box-shadow: inset 0 2px 0 var(--accent-bright);
|
||||
}
|
||||
|
||||
.column-header-inner {
|
||||
@@ -302,7 +351,7 @@
|
||||
}
|
||||
|
||||
.column-drag-indicator {
|
||||
color: #7f95ab;
|
||||
color: var(--text-subtle);
|
||||
font-family: 'IBM Plex Mono', monospace;
|
||||
font-size: 11px;
|
||||
line-height: 1;
|
||||
@@ -317,8 +366,8 @@
|
||||
}
|
||||
|
||||
.table th.column-drag-over {
|
||||
box-shadow: inset -3px 0 0 #4a9adf;
|
||||
background: #172635;
|
||||
box-shadow: inset -3px 0 0 var(--accent-bright);
|
||||
background: var(--table-hover);
|
||||
}
|
||||
|
||||
.column-resize-handle {
|
||||
@@ -340,25 +389,25 @@
|
||||
bottom: 4px;
|
||||
width: 2px;
|
||||
border-radius: 1px;
|
||||
background: #36506a;
|
||||
background: var(--border-strong);
|
||||
opacity: 0.55;
|
||||
transition: opacity 0.15s ease, background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.column-resize-handle:hover {
|
||||
background: #3b82c455;
|
||||
background: var(--accent-wash);
|
||||
}
|
||||
|
||||
.column-resize-handle:hover::before {
|
||||
opacity: 1;
|
||||
background: #78acd8;
|
||||
background: var(--accent);
|
||||
}
|
||||
|
||||
.grid-cell-selected {
|
||||
outline: 2px solid #4a9adf;
|
||||
outline: 2px solid var(--accent-bright);
|
||||
outline-offset: -2px;
|
||||
background: #1a2a3c;
|
||||
box-shadow: inset 0 0 0 1px #9ac7ec40;
|
||||
background: var(--cell-selected-bg);
|
||||
box-shadow: inset 0 0 0 1px var(--cell-selected-glow);
|
||||
}
|
||||
|
||||
.context-menu {
|
||||
@@ -393,8 +442,8 @@
|
||||
}
|
||||
|
||||
.context-menu-item.context-menu-danger:hover {
|
||||
background: #3b1b24;
|
||||
color: #ffd3d3;
|
||||
background: var(--ctx-danger-hover-bg);
|
||||
color: var(--ctx-danger-hover-text);
|
||||
}
|
||||
|
||||
.context-menu-sep {
|
||||
@@ -413,7 +462,7 @@
|
||||
|
||||
.logout-btn {
|
||||
padding: 10px 12px;
|
||||
background-color: #7f1d1d;
|
||||
background-color: var(--logout-bg);
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: var(--danger-text);
|
||||
@@ -423,7 +472,7 @@
|
||||
}
|
||||
|
||||
.logout-btn:hover {
|
||||
background-color: #991b1b;
|
||||
background-color: var(--logout-bg-hover);
|
||||
}
|
||||
|
||||
.main-content {
|
||||
@@ -434,7 +483,7 @@
|
||||
}
|
||||
|
||||
.header {
|
||||
background: linear-gradient(180deg, #121d2b 0%, #101926 100%);
|
||||
background: linear-gradient(180deg, var(--header-grad-top) 0%, var(--panel-grad-end) 100%);
|
||||
border-bottom: 1px solid var(--border);
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
@@ -468,11 +517,11 @@
|
||||
.content::-webkit-scrollbar-thumb {
|
||||
background: var(--border);
|
||||
border-radius: 20px;
|
||||
border: 2px solid #101926;
|
||||
border: 2px solid var(--scrollbar-track);
|
||||
}
|
||||
|
||||
.content::-webkit-scrollbar-track {
|
||||
background: #0f1723;
|
||||
background: var(--scrollbar-track);
|
||||
}
|
||||
|
||||
.page-container {
|
||||
@@ -608,11 +657,11 @@
|
||||
}
|
||||
|
||||
.button-danger {
|
||||
background-color: #dc2626;
|
||||
background-color: var(--danger-btn-bg);
|
||||
}
|
||||
|
||||
.button-danger:hover {
|
||||
background-color: #b91c1c;
|
||||
background-color: var(--danger-btn-bg-hover);
|
||||
}
|
||||
|
||||
.table {
|
||||
@@ -649,7 +698,7 @@
|
||||
max-height: calc(100vh - 280px);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 10px;
|
||||
background: #0c141f;
|
||||
background: var(--grid-shell-bg);
|
||||
box-shadow: inset 0 1px 0 #ffffff06;
|
||||
}
|
||||
|
||||
@@ -658,13 +707,13 @@
|
||||
}
|
||||
|
||||
.grid-table-shell::-webkit-scrollbar-thumb {
|
||||
background: #2b3f54;
|
||||
background: var(--scrollbar-thumb);
|
||||
border-radius: 20px;
|
||||
border: 2px solid #0f1723;
|
||||
border: 2px solid var(--scrollbar-track);
|
||||
}
|
||||
|
||||
.grid-table-shell::-webkit-scrollbar-track {
|
||||
background: #0c141f;
|
||||
background: var(--grid-shell-bg);
|
||||
}
|
||||
|
||||
.table th {
|
||||
@@ -712,16 +761,16 @@
|
||||
}
|
||||
|
||||
.table tbody tr:nth-child(even) td {
|
||||
background: #101b28;
|
||||
background: var(--table-stripe);
|
||||
}
|
||||
|
||||
.table tr:hover {
|
||||
background-color: #172435;
|
||||
background-color: var(--table-hover);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.table tr:hover td {
|
||||
background-color: #172435;
|
||||
background-color: var(--table-hover);
|
||||
}
|
||||
|
||||
.table th.sticky-col {
|
||||
@@ -741,27 +790,27 @@
|
||||
}
|
||||
|
||||
.table tbody tr:nth-child(even) td.sticky-col {
|
||||
background: #101b28;
|
||||
background: var(--table-stripe);
|
||||
}
|
||||
|
||||
.table tr:hover td.sticky-col {
|
||||
background-color: #172435;
|
||||
background-color: var(--table-hover);
|
||||
}
|
||||
|
||||
.fundraising-table tfoot td {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
z-index: 4;
|
||||
background: #0f1b2a;
|
||||
border-top: 1px solid #2a3d52;
|
||||
box-shadow: 0 -1px 0 #1d2c3d;
|
||||
background: var(--table-foot-bg);
|
||||
border-top: 1px solid var(--border-strong);
|
||||
box-shadow: 0 -1px 0 var(--border);
|
||||
}
|
||||
|
||||
.fundraising-table tfoot td.sticky-col {
|
||||
z-index: 7;
|
||||
left: 0;
|
||||
box-shadow: 1px 0 0 var(--border), 0 -1px 0 #1d2c3d;
|
||||
background: #0f1b2a;
|
||||
box-shadow: 1px 0 0 var(--border), 0 -1px 0 var(--border);
|
||||
background: var(--table-foot-bg);
|
||||
}
|
||||
|
||||
.badge {
|
||||
@@ -774,9 +823,11 @@
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
/* Legacy badges remapped onto the brand themed slots (Phase 7 — retires the original
|
||||
Material palette; aligns stage badges with the StageChip / --chip-* system). */
|
||||
.badge-investor {
|
||||
background-color: #10b98122;
|
||||
color: #6ee7b7;
|
||||
background-color: var(--chip-commitment-bg);
|
||||
color: var(--money);
|
||||
}
|
||||
|
||||
.badge-prospect {
|
||||
@@ -785,58 +836,58 @@
|
||||
}
|
||||
|
||||
.badge-advisor {
|
||||
background-color: #f59e0b22;
|
||||
color: #fcd34d;
|
||||
background-color: var(--badge-priority-bg);
|
||||
color: var(--badge-priority-text);
|
||||
}
|
||||
|
||||
.badge-other {
|
||||
background-color: #70859b44;
|
||||
background-color: var(--chip-default-bg);
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.badge-lead {
|
||||
background-color: #ec407a22;
|
||||
color: #f48fb1;
|
||||
background-color: var(--chip-lead-bg);
|
||||
color: var(--chip-lead-text);
|
||||
}
|
||||
|
||||
.badge-outreach {
|
||||
background-color: #ff9800aa;
|
||||
color: #fff3cd;
|
||||
background-color: var(--badge-priority-bg);
|
||||
color: var(--badge-priority-text);
|
||||
}
|
||||
|
||||
.badge-meeting {
|
||||
background-color: #2196f322;
|
||||
color: #90caf9;
|
||||
}
|
||||
|
||||
.badge-due-diligence {
|
||||
background-color: #2563eb22;
|
||||
background-color: var(--accent-soft);
|
||||
color: var(--accent-light);
|
||||
}
|
||||
|
||||
.badge-due-diligence {
|
||||
background-color: var(--chip-diligence-bg);
|
||||
color: var(--chip-diligence-text);
|
||||
}
|
||||
|
||||
.badge-committed {
|
||||
background-color: #ff5722aa;
|
||||
color: #ffccbc;
|
||||
background-color: var(--chip-commitment-bg);
|
||||
color: var(--chip-commitment-text);
|
||||
}
|
||||
|
||||
.badge-funded {
|
||||
background-color: #4caf5022;
|
||||
color: #a5d6a7;
|
||||
background-color: var(--chip-commitment-bg);
|
||||
color: var(--money);
|
||||
}
|
||||
|
||||
.badge-high {
|
||||
background-color: #dc262622;
|
||||
background-color: var(--badge-danger-bg);
|
||||
color: var(--danger-text);
|
||||
}
|
||||
|
||||
.badge-medium {
|
||||
background-color: #f59e0b22;
|
||||
color: #fcd34d;
|
||||
background-color: var(--badge-priority-bg);
|
||||
color: var(--badge-priority-text);
|
||||
}
|
||||
|
||||
.badge-low {
|
||||
background-color: #6b7280aa;
|
||||
color: #d1d5db;
|
||||
background-color: var(--chip-default-bg);
|
||||
color: var(--chip-default-text);
|
||||
}
|
||||
|
||||
.modal-overlay {
|
||||
@@ -918,13 +969,13 @@
|
||||
}
|
||||
|
||||
.toast.error {
|
||||
border-color: #7f1d1d;
|
||||
background-color: #1f1a1a;
|
||||
border-color: var(--toast-error-border);
|
||||
background-color: var(--toast-error-bg);
|
||||
}
|
||||
|
||||
.toast.success {
|
||||
border-color: #15803d;
|
||||
background-color: #1a1f1a;
|
||||
border-color: var(--toast-success-border);
|
||||
background-color: var(--toast-success-bg);
|
||||
}
|
||||
|
||||
@keyframes slideIn {
|
||||
@@ -938,6 +989,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile toast sits bottom-center, so it rises in instead of sliding from the right. */
|
||||
@keyframes slideInUp {
|
||||
from {
|
||||
transform: translateY(60px);
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes modalIn {
|
||||
from {
|
||||
transform: translateY(8px) scale(0.985);
|
||||
@@ -966,7 +1029,7 @@
|
||||
.skeleton-block {
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 10px;
|
||||
background: linear-gradient(180deg, #101926 0%, #0e1824 100%);
|
||||
background: linear-gradient(180deg, var(--bg-input) 0%, var(--bg-base) 100%);
|
||||
padding: 14px;
|
||||
box-shadow: inset 0 1px 0 #ffffff06;
|
||||
}
|
||||
@@ -974,7 +1037,7 @@
|
||||
.skeleton-line {
|
||||
height: 11px;
|
||||
border-radius: 999px;
|
||||
background: linear-gradient(90deg, var(--border) 0%, #3a526d 48%, var(--border) 100%);
|
||||
background: linear-gradient(90deg, var(--border) 0%, var(--border-strong) 48%, var(--border) 100%);
|
||||
background-size: 200% 100%;
|
||||
animation: shimmer 1.35s linear infinite;
|
||||
margin-bottom: 10px;
|
||||
@@ -1095,7 +1158,7 @@
|
||||
.kanban-card-amount {
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
color: #10b981;
|
||||
color: var(--money);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
@@ -1301,7 +1364,7 @@
|
||||
.thesis-version-row.active {
|
||||
border-color: var(--accent);
|
||||
background-color: var(--bg-panel-elevated);
|
||||
box-shadow: inset 0 0 0 1px #3b82c455;
|
||||
box-shadow: inset 0 0 0 1px var(--accent-wash);
|
||||
}
|
||||
|
||||
.thesis-line-name {
|
||||
@@ -1401,7 +1464,7 @@
|
||||
gap: 10px;
|
||||
padding: 12px 14px;
|
||||
margin-bottom: 18px;
|
||||
background-color: #1a2233;
|
||||
background-color: var(--thesis-banner-bg);
|
||||
border: 1px solid var(--border-strong);
|
||||
border-radius: 8px;
|
||||
color: var(--text-secondary);
|
||||
@@ -1410,8 +1473,8 @@
|
||||
}
|
||||
|
||||
.thesis-ws-banner.ready {
|
||||
background-color: #10b9810f;
|
||||
border-color: #1f6f54;
|
||||
background-color: var(--chip-commitment-bg);
|
||||
border-color: var(--chip-commitment-border);
|
||||
}
|
||||
|
||||
.thesis-ws-banner-icon {
|
||||
@@ -1430,7 +1493,7 @@
|
||||
|
||||
.thesis-ws-node.selected {
|
||||
border-color: var(--accent);
|
||||
box-shadow: inset 0 0 0 1px #3b82c455;
|
||||
box-shadow: inset 0 0 0 1px var(--accent-wash);
|
||||
}
|
||||
|
||||
.thesis-ws-node-head {
|
||||
@@ -1470,7 +1533,7 @@
|
||||
|
||||
.thesis-ws-children {
|
||||
padding-left: 18px;
|
||||
border-left: 1px solid #1d2a3a;
|
||||
border-left: 1px solid var(--border);
|
||||
margin: 4px 0 4px 18px;
|
||||
}
|
||||
|
||||
@@ -1599,15 +1662,15 @@
|
||||
}
|
||||
|
||||
.index-job-pill.running {
|
||||
color: #fcd34d;
|
||||
background-color: #f59e0b22;
|
||||
color: var(--badge-priority-text);
|
||||
background-color: var(--badge-priority-bg);
|
||||
}
|
||||
|
||||
.index-job-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background-color: #fcd34d;
|
||||
background-color: var(--badge-priority-text);
|
||||
animation: index-job-pulse 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@@ -1865,7 +1928,7 @@
|
||||
|
||||
.pipeline-stage-amount {
|
||||
font-size: 11px;
|
||||
color: #10b981;
|
||||
color: var(--money);
|
||||
}
|
||||
|
||||
.csv-preview {
|
||||
@@ -1919,7 +1982,7 @@
|
||||
.stat-value {
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
color: #10b981;
|
||||
color: var(--money);
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
@@ -1991,7 +2054,7 @@
|
||||
z-index: 200;
|
||||
height: calc(var(--mobile-tab-bar-h) + env(safe-area-inset-bottom, 0px));
|
||||
padding-bottom: env(safe-area-inset-bottom, 0px);
|
||||
background: rgba(17, 26, 39, 0.92);
|
||||
background: var(--nav-bg);
|
||||
backdrop-filter: blur(8px);
|
||||
-webkit-backdrop-filter: blur(8px);
|
||||
border-top: 1px solid var(--border);
|
||||
@@ -2426,6 +2489,12 @@
|
||||
.desktop-only { display: none !important; }
|
||||
/* keep content clear of the fixed bottom bar */
|
||||
.content { padding-bottom: calc(var(--mobile-tab-bar-h) + env(safe-area-inset-bottom, 0px) + 16px); }
|
||||
/* DESIGN §4: toast is bottom-center above the tab bar on mobile, not bottom-right. */
|
||||
.toast {
|
||||
left: 16px; right: 16px; max-width: none;
|
||||
bottom: calc(var(--mobile-tab-bar-h) + env(safe-area-inset-bottom, 0px) + 8px);
|
||||
animation-name: slideInUp;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@@ -8788,7 +8857,7 @@
|
||||
verticalAlign: 'top',
|
||||
cursor: col.readOnly ? 'default' : (isLockedByOther ? 'not-allowed' : 'cell'),
|
||||
boxShadow: isLockedByOther ? 'inset 0 0 0 1px var(--danger-soft)' : undefined,
|
||||
background: isLockedByOther ? 'rgba(143, 75, 75, 0.12)' : undefined,
|
||||
background: isLockedByOther ? 'var(--locked-cell-bg)' : undefined,
|
||||
minWidth: `${col.width || 140}px`,
|
||||
width: `${col.width || 140}px`
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user