Files
ds2api/webui/src/styles.css

179 lines
3.6 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
/* Modern Flat Theme (Big Tech Style) - Zinc & Amber */
:root {
/* Base - Deep Matte Zinc */
--color-background: hsl(240 10% 3.9%);
--color-foreground: hsl(0 0% 98%);
/* Surface */
--color-card: hsl(240 10% 6.5%);
--color-card-foreground: hsl(0 0% 98%);
--color-popover: hsl(240 10% 3.9%);
--color-popover-foreground: hsl(0 0% 98%);
/* Primary Accent - Warm Amber/Gold */
--color-primary: hsl(45 93% 47%);
--color-primary-foreground: hsl(240 10% 3.9%);
/* Secondary */
--color-secondary: hsl(240 5.9% 10%);
--color-secondary-foreground: hsl(0 0% 98%);
/* UI Elements */
--color-muted: hsl(240 3.7% 15.9%);
--color-muted-foreground: hsl(240 5% 64.9%);
--color-accent: hsl(240 3.7% 15.9%);
--color-accent-foreground: hsl(0 0% 98%);
--color-destructive: hsl(0 84.2% 60.2%);
--color-destructive-foreground: hsl(0 0% 98%);
--color-border: hsl(240 3.7% 15.9%);
--color-input: hsl(240 3.7% 15.9%);
--color-ring: hsl(45 93% 47%);
--radius: 0.5rem;
}
/* Base styles */
* {
border-color: var(--color-border);
}
body {
background-color: var(--color-background);
color: var(--color-foreground);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: "rlig" 1, "calt" 1;
}
/* Custom scrollbar - Slim & Modern */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: hsla(215, 27.9%, 26.9%, 0.6);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: hsla(215, 27.9%, 40%, 0.8);
}
/* Custom scrollbar utility */
.custom-scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--color-muted) transparent;
}
/* Button components */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 0.5rem;
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 500;
transition: all 0.15s;
}
.btn:focus {
outline: none;
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
}
.btn:disabled {
opacity: 0.5;
pointer-events: none;
}
.btn-primary {
background-color: var(--color-primary);
color: var(--color-primary-foreground);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.btn-primary:hover {
background-color: rgba(248, 250, 252, 0.9);
}
.btn-primary:active {
transform: scale(0.95);
}
.btn-secondary {
background-color: var(--color-secondary);
color: var(--color-secondary-foreground);
border: 1px solid var(--color-border);
}
.btn-secondary:hover {
background-color: var(--color-accent);
color: var(--color-accent-foreground);
}
.btn-danger {
background-color: var(--color-destructive);
color: var(--color-destructive-foreground);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.btn-danger:hover {
background-color: rgba(127, 29, 29, 0.9);
}
.btn-sm {
padding: 0.375rem 0.75rem;
font-size: 0.75rem;
}
/* Input field */
.input-field {
display: flex;
height: 2.5rem;
width: 100%;
border-radius: 0.5rem;
border: 1px solid var(--color-input);
background-color: #09090b;
color: hsl(var(--color-foreground));
padding: 0.5rem 0.75rem;
font-size: 0.875rem;
transition: all 0.15s;
}
.input-field::placeholder {
color: var(--color-muted-foreground);
}
.input-field:focus {
outline: none;
box-shadow: 0 0 0 2px var(--color-ring);
}
.input-field:disabled {
cursor: not-allowed;
opacity: 0.5;
}
/* Card */
.card {
background-color: var(--color-card);
color: var(--color-card-foreground);
border: 1px solid var(--color-border);
border-radius: 0.75rem;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
overflow: hidden;
}