@@ -167,7 +168,7 @@ function ErrorModal({
{csvError.file}
diff --git a/src/components/ItemForm/ItemFormGroup.css b/src/components/ItemForm/ItemFormGroup.css
new file mode 100644
index 0000000..8fe85d6
--- /dev/null
+++ b/src/components/ItemForm/ItemFormGroup.css
@@ -0,0 +1,17 @@
+.btn-delete {
+ background-color: var(--lightbgcolor);
+ border: 1px solid var(--comment);
+ border-radius: 0.375rem;
+}
+
+.btn-delete {
+ color: var(--red);
+}
+
+.btn-delete:focus-visible,
+.btn-delete:hover {
+ background-color: var(--red);
+ border: 1px solid var(--red);
+ border-radius: 0.375rem;
+ color: var(--lightbgcolor);
+}
diff --git a/src/components/ItemForm/ItemFormGroup.tsx b/src/components/ItemForm/ItemFormGroup.tsx
index 6edb375..09596cc 100644
--- a/src/components/ItemForm/ItemFormGroup.tsx
+++ b/src/components/ItemForm/ItemFormGroup.tsx
@@ -13,6 +13,7 @@ import { useConfig } from "../../context/ConfigContext";
import { calc, parseLocaleNumber } from "../../utils";
import CalculateButton from "../CalculateButton/CalculateButton";
import { ItemForm } from "./ItemForm";
+import "./ItemFormGroup.css";
interface ItemFormProps {
itemForm: ItemForm;
diff --git a/src/components/NavBar/NavBar.css b/src/components/NavBar/NavBar.css
new file mode 100644
index 0000000..5b5897e
--- /dev/null
+++ b/src/components/NavBar/NavBar.css
@@ -0,0 +1,80 @@
+.brand {
+ color: var(--textcolor);
+}
+
+.btn-go-button {
+ background-color: var(--lightbgcolor);
+ border: 1px solid var(--comment);
+ color: var(--purple);
+}
+
+.btn-go-button:focus-visible,
+.btn-go-button:hover {
+ background-color: var(--purple);
+ border: 1px solid var(--purple);
+ color: var(--lightbgcolor);
+}
+
+.btn-outline-danger {
+ background-color: var(--lightbgcolor);
+ border: 1px solid var(--comment);
+ border-radius: 0.375rem;
+ color: var(--red);
+}
+
+.btn-outline-danger:focus-visible,
+.btn-outline-danger:hover {
+ background-color: var(--red);
+ border: 1px solid var(--red);
+ border-radius: 0.375rem;
+ color: var(--lightbgcolor);
+}
+
+.btn-outline-info {
+ background-color: var(--lightbgcolor);
+ border: 1px solid var(--comment);
+ border-radius: 0.375rem;
+ color: var(--cyan);
+}
+
+.btn-outline-info:focus-visible,
+.btn-outline-info:hover {
+ background-color: var(--cyan);
+ border: 1px solid var(--cyan);
+ border-radius: 0.375rem;
+ color: var(--lightbgcolor);
+}
+
+/* Search input placeholder */
+input[type="text"]::placeholder {
+ color: var(--comment);
+ opacity: 1;
+}
+
+.navbar,
+.offcanvas-body,
+.offcanvas-header {
+ background: var(--bgcolor);
+ color: var(--textcolor);
+}
+
+.navbar .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;utf8,");
+}
+
+.navbar-toggler {
+ border: 1px solid var(--comment);
+ border-radius: 0.375rem;
+}
+
+.version {
+ color: var(--selection);
+ font-family:
+ ui-monospace,
+ SF Mono,
+ Menlo,
+ Monaco,
+ Andale Mono,
+ monospace;
+ font-size: 0.9em;
+}
diff --git a/src/components/NavBar/NavBar.tsx b/src/components/NavBar/NavBar.tsx
index a4ab824..78fe6be 100644
--- a/src/components/NavBar/NavBar.tsx
+++ b/src/components/NavBar/NavBar.tsx
@@ -24,6 +24,7 @@ import { budgetsDB } from "../../context/db";
import { currenciesList } from "../../lists/currenciesList";
import { focusRef } from "../../utils";
import { Budget } from "../Budget/Budget";
+import "./NavBar.css";
import { NavBarDelete } from "./NavBarDelete";
import { NavBarExport } from "./NavBarExport";
import { NavBarItem } from "./NavBarItem";
diff --git a/src/components/NavBar/NavBarItem.tsx b/src/components/NavBar/NavBarItem.tsx
index 1a79e6a..cfc3880 100644
--- a/src/components/NavBar/NavBarItem.tsx
+++ b/src/components/NavBar/NavBarItem.tsx
@@ -1,5 +1,6 @@
import { ReactNode } from "react";
import { Button, Nav, OverlayTrigger, Tooltip } from "react-bootstrap";
+import "./NavBar.css";
interface NavItemProps {
itemClassName: string;
diff --git a/src/components/Notification/Notification.css b/src/components/Notification/Notification.css
new file mode 100644
index 0000000..624f045
--- /dev/null
+++ b/src/components/Notification/Notification.css
@@ -0,0 +1,9 @@
+.toast-container > :not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.toast {
+ background: var(--lightbgcolor);
+ border: 1px solid var(--comment);
+ color: var(--textcolor);
+}
diff --git a/src/components/Notification/Notification.tsx b/src/components/Notification/Notification.tsx
index 2d9cb32..7348203 100644
--- a/src/components/Notification/Notification.tsx
+++ b/src/components/Notification/Notification.tsx
@@ -1,5 +1,6 @@
import { Button, Toast } from "react-bootstrap";
import { BsX } from "react-icons/bs";
+import "./Notification.css";
interface NotificationProps {
notification: { show: boolean; id?: string; body?: string };
diff --git a/src/components/StatCard/StatCard.css b/src/components/StatCard/StatCard.css
new file mode 100644
index 0000000..0b44806
--- /dev/null
+++ b/src/components/StatCard/StatCard.css
@@ -0,0 +1,13 @@
+.auto-goal {
+ border: 1px solid var(--comment);
+ border-radius: 0.375rem;
+}
+
+.progress {
+ background-color: var(--comment);
+ height: 3px;
+}
+
+.progress-bar {
+ background-color: var(--pink);
+}
diff --git a/src/components/StatCard/StatCard.tsx b/src/components/StatCard/StatCard.tsx
index 089dca9..b14f25f 100644
--- a/src/components/StatCard/StatCard.tsx
+++ b/src/components/StatCard/StatCard.tsx
@@ -17,6 +17,7 @@ import { useBudget } from "../../context/BudgetContext";
import { useConfig } from "../../context/ConfigContext";
import { focusRef, parseLocaleNumber } from "../../utils";
import { Stat } from "./Stat";
+import "./StatCard.css";
interface StatCardProps {
onChange: (stat: Stat | undefined) => void;
@@ -96,7 +97,6 @@ function StatCard({ onChange, onAutoGoal, onShowGraphs }: StatCardProps) {
now={revenuePercentage}
label={`${revenuePercentage}%`}
visuallyHidden
- style={{ height: "3px" }}
/>
diff --git a/src/components/TableCard/TableCard.css b/src/components/TableCard/TableCard.css
new file mode 100644
index 0000000..a58b103
--- /dev/null
+++ b/src/components/TableCard/TableCard.css
@@ -0,0 +1,33 @@
+.btn-Expenses-plus-button {
+ border: 1px solid var(--comment);
+ color: var(--purple);
+}
+
+.btn-Expenses-plus-button:focus-visible,
+.btn-Expenses-plus-button:hover {
+ background-color: var(--purple);
+ border: 1px solid var(--purple);
+ color: var(--lightbgcolor);
+}
+
+.btn-Revenue-plus-button {
+ border: 1px solid var(--comment);
+ color: var(--highlight);
+}
+
+.btn-Revenue-plus-button:focus-visible,
+.btn-Revenue-plus-button:hover {
+ background-color: var(--highlight);
+ border: 1px solid var(--highlight);
+ color: var(--lightbgcolor);
+}
+
+.Expenses-card,
+.Revenue-card {
+ border: 1px solid var(--comment);
+}
+
+.Expenses-card-header,
+.Revenue-card-header {
+ border-bottom: 1px solid var(--comment);
+}
diff --git a/src/components/TableCard/TableCard.tsx b/src/components/TableCard/TableCard.tsx
index 54d6af8..c0db4dd 100644
--- a/src/components/TableCard/TableCard.tsx
+++ b/src/components/TableCard/TableCard.tsx
@@ -16,6 +16,7 @@ import { ItemForm } from "../ItemForm/ItemForm";
import ItemFormGroup from "../ItemForm/ItemFormGroup";
import { Expense } from "./Expense";
import { Income } from "./Income";
+import "./TableCard.css";
interface TableCardProps {
items: Income | Expense;