aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/ui/src/app.css
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src/app.css')
-rw-r--r--packages/ui/src/app.css167
1 files changed, 167 insertions, 0 deletions
diff --git a/packages/ui/src/app.css b/packages/ui/src/app.css
new file mode 100644
index 0000000..63449b7
--- /dev/null
+++ b/packages/ui/src/app.css
@@ -0,0 +1,167 @@
+@import "tailwindcss";
+
+@variant dark (&:where(.dark, .dark *));
+
+/* ==================== Custom Select/Dropdown Styles ==================== */
+
+/* Base select styling */
+select {
+ appearance: none;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2371717a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
+ background-repeat: no-repeat;
+ background-position: right 0.5rem center;
+ background-size: 1rem;
+ padding-right: 2rem;
+}
+
+/* Option styling - works in WebView/Chromium */
+select option {
+ background-color: #18181b;
+ color: #e4e4e7;
+ padding: 12px 16px;
+ font-size: 13px;
+ border: none;
+}
+
+select option:hover,
+select option:focus {
+ background-color: #3730a3 !important;
+ color: white !important;
+}
+
+select option:checked {
+ background: linear-gradient(0deg, #4f46e5 0%, #4f46e5 100%);
+ color: white;
+ font-weight: 500;
+}
+
+select option:disabled {
+ color: #52525b;
+ background-color: #18181b;
+}
+
+/* Optgroup styling */
+select optgroup {
+ background-color: #18181b;
+ color: #a1a1aa;
+ font-weight: 600;
+ font-size: 11px;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ padding: 8px 12px 4px;
+}
+
+/* Select focus state */
+select:focus {
+ outline: none;
+ border-color: #6366f1;
+ box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
+}
+
+/* ==================== Custom Scrollbar (Global) ==================== */
+
+/* Firefox */
+* {
+ scrollbar-width: thin;
+ scrollbar-color: #3f3f46 transparent;
+}
+
+/* Webkit browsers */
+::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+}
+
+::-webkit-scrollbar-track {
+ background: transparent;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: #3f3f46;
+ border-radius: 4px;
+ border: 2px solid transparent;
+ background-clip: content-box;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background-color: #52525b;
+}
+
+::-webkit-scrollbar-corner {
+ background: transparent;
+}
+
+/* ==================== Input/Form Element Consistency ==================== */
+
+input[type="text"],
+input[type="number"],
+input[type="password"],
+input[type="email"],
+textarea {
+ background-color: rgba(0, 0, 0, 0.4);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ transition:
+ border-color 0.2s ease,
+ box-shadow 0.2s ease;
+}
+
+input[type="text"]:focus,
+input[type="number"]:focus,
+input[type="password"]:focus,
+input[type="email"]:focus,
+textarea:focus {
+ border-color: rgba(99, 102, 241, 0.5);
+ box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.1);
+ outline: none;
+}
+
+/* Number input - hide spinner */
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+
+input[type="number"] {
+ -moz-appearance: textfield;
+}
+
+/* ==================== Checkbox Styling ==================== */
+
+input[type="checkbox"] {
+ appearance: none;
+ width: 16px;
+ height: 16px;
+ border: 1px solid #3f3f46;
+ border-radius: 4px;
+ background-color: #18181b;
+ cursor: pointer;
+ position: relative;
+ transition: all 0.15s ease;
+}
+
+input[type="checkbox"]:hover {
+ border-color: #52525b;
+}
+
+input[type="checkbox"]:checked {
+ background-color: #4f46e5;
+ border-color: #4f46e5;
+}
+
+input[type="checkbox"]:checked::after {
+ content: "";
+ position: absolute;
+ left: 5px;
+ top: 2px;
+ width: 4px;
+ height: 8px;
+ border: solid white;
+ border-width: 0 2px 2px 0;
+ transform: rotate(45deg);
+}
+
+input[type="checkbox"]:focus {
+ outline: none;
+ box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.3);
+}