From aff5ed15ede5ce8bb6a53ced84eb55333f0fee54 Mon Sep 17 00:00:00 2001 From: neru Date: Thu, 18 Jun 2026 20:49:00 -0300 Subject: [PATCH] feat: add styles --- styles/Home.module.css | 174 ++++++++++++++++++++++++++++++++++++++ styles/Layout.module.css | 13 +++ styles/Sidebar.module.css | 63 ++++++++++++++ 3 files changed, 250 insertions(+) create mode 100644 styles/Home.module.css create mode 100644 styles/Layout.module.css create mode 100644 styles/Sidebar.module.css diff --git a/styles/Home.module.css b/styles/Home.module.css new file mode 100644 index 0000000..332edb1 --- /dev/null +++ b/styles/Home.module.css @@ -0,0 +1,174 @@ +.container { + padding: 3rem 4rem; + max-width: 1200px; + margin: 0 auto; +} + +.header { + margin-bottom: 3rem; + border-bottom: 2px solid #1a1a1a; + padding-bottom: 1.5rem; +} + +.title { + font-size: 2.25rem; + text-transform: uppercase; + color: #ffffff; + letter-spacing: 0.05em; + margin: 0 0 0.5rem 0; + text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8); +} + +.subtitle { + font-size: 0.9rem; + color: #777777; + text-transform: uppercase; + letter-spacing: 0.1em; + margin: 0; +} + +.statsGrid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 1.5rem; + margin-bottom: 3rem; +} + +.statCard { + background: #0d0d0d; + border: 1px solid #1a1a1a; + border-top: 3px solid #330000; + padding: 1.5rem; + transition: all 0.2s ease; +} + +.statCard:hover { + border-color: #a30000; + box-shadow: 0 0 15px rgba(163, 0, 0, 0.15); +} + +.statLabel { + font-size: 0.75rem; + text-transform: uppercase; + color: #555555; + font-weight: bold; + letter-spacing: 0.1em; + margin-bottom: 0.5rem; +} + +.statValue { + font-size: 1.25rem; + font-weight: bold; + color: #ffffff; + font-family: 'Oswald', sans-serif; + line-height: 1; +} + +.panelGrid { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; +} + +.card { + background: #0d0d0d; + border: 1px solid #1a1a1a; + border-top: 3px solid #630000; + padding: 2rem; +} + +.cardTitle { + font-size: 1.25rem; + text-transform: uppercase; + color: #ffffff; + margin: 0 0 1.5rem 0; + letter-spacing: 0.05em; +} + +.formatBtnActive { + background: #a30000; + border-color: #ff0000; + color: #ffffff; +} + +.textarea { + width: 100%; + height: 200px; + background: #050505; + border: 1px solid #1a1a1a; + color: #999999; + font-family: monospace; + font-size: 0.8rem; + padding: 1rem; + resize: none; + margin-bottom: 1.5rem; +} + +.textarea:focus { + outline: none; + border-color: #a30000; +} + +.btnRow { + display: flex; + gap: 1rem; + flex-wrap: wrap; +} + +.primaryBtn { + background: #a30000; + border: 1px solid #ff0000; + color: #ffffff; + padding: 0.8rem 1.5rem; + font-size: 0.8rem; + text-transform: uppercase; + font-weight: bold; + cursor: pointer; + transition: all 0.2s ease; +} + +.primaryBtn:hover { + background: #ff0000; + box-shadow: 0 0 10px rgba(255, 0, 0, 0.4); +} + +.secondaryBtn { + background: #121212; + border: 1px solid #333333; + color: #c9c9c9; + padding: 0.8rem 1.5rem; + font-size: 0.8rem; + text-transform: uppercase; + font-weight: bold; + cursor: pointer; + transition: all 0.2s ease; +} + +.secondaryBtn:hover { + background: #1a1a1a; + color: #ffffff; +} + +.toast { + position: fixed; + bottom: 2rem; + right: 2rem; + background: #0d0d0d; + border: 1px solid #00ff66; + color: #00ff66; + padding: 1rem 1.5rem; + font-size: 0.8rem; + text-transform: uppercase; + font-weight: bold; + animation: slideIn 0.3s ease-out forwards; +} + +.toastError { + border-color: #ff0000; + color: #ff0000; +} + +@keyframes slideIn { + from { transform: translateY(20px); opacity: 0; } + to { transform: translateY(0); opacity: 1; } +} \ No newline at end of file diff --git a/styles/Layout.module.css b/styles/Layout.module.css new file mode 100644 index 0000000..19d8734 --- /dev/null +++ b/styles/Layout.module.css @@ -0,0 +1,13 @@ +.layoutContainer { + display: flex; + width: 100vw; + height: 100vh; + overflow: hidden; + background: #050505; +} + +.mainContent { + flex: 1; + overflow-y: auto; + background: #0a0a0a; +} \ No newline at end of file diff --git a/styles/Sidebar.module.css b/styles/Sidebar.module.css new file mode 100644 index 0000000..07c4c88 --- /dev/null +++ b/styles/Sidebar.module.css @@ -0,0 +1,63 @@ +.sidebar { + width: 280px; + height: 100vh; + background: #050505; + border-right: 2px solid #1a1a1a; + display: flex; + flex-direction: column; + padding: 2.5rem 1.5rem; + color: #c9c9c9; + font-family: 'Oswald', 'Roboto Condensed', sans-serif; + letter-spacing: 0.02em; +} + +.title { + font-size: 1.25rem; + text-transform: uppercase; + color: #e4e4e4; + margin-bottom: 2.5rem; + padding-bottom: 0.5rem; + border-bottom: 2px solid #330000; + text-shadow: 2px 2px 4px rgba(0,0,0,0.5); +} + +.navLink { + display: block; + padding: 0.8rem 1rem; + margin-bottom: 0.25rem; + text-decoration: none; + color: #777777; + text-transform: uppercase; + font-size: 0.85rem; + position: relative; + transition: all 0.1s ease-in; + background: transparent; + border-left: 3px solid transparent; +} + +.navLink:hover { + color: #ffffff; + background: linear-gradient(90deg, #1a0000, transparent); + border-left: 3px solid #a30000; +} + +.syncButton { + margin-top: auto; + padding: 1rem; + background: #0a0a0a; + border: 1px solid #4a0000; + color: #a30000; + text-transform: uppercase; + font-weight: 700; + font-size: 0.9rem; + cursor: pointer; + transition: all 0.2s ease; + letter-spacing: 0.1em; +} + +.syncButton:hover { + background: #a30000; + color: #ffffff; + border-color: #ff0000; + box-shadow: 0 0 10px #7f0000; +} \ No newline at end of file