feat(web + backend): advanced and simple quote.

This commit is contained in:
2026-01-27 23:38:47 +01:00
parent 7dc6741808
commit 443ff04430
26 changed files with 1773 additions and 52 deletions

View File

@@ -1,4 +1,119 @@
/* You can add global styles to this file, and also import other style files */
/* Global Styles & Variables */
:root {
/* Color Palette - Modern Dark Theme */
--primary-color: #6366f1; /* Indigo 500 */
--primary-hover: #4f46e5; /* Indigo 600 */
--secondary-color: #ec4899; /* Pink 500 */
--bg-color: #0f172a; /* Slate 900 */
--surface-color: #1e293b; /* Slate 800 */
--surface-hover: #334155; /* Slate 700 */
--text-main: #f8fafc; /* Slate 50 */
--text-muted: #94a3b8; /* Slate 400 */
--border-color: #334155;
/* Spacing & Radius */
--radius-sm: 0.375rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
/* Shadows */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
/* Transitions */
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
html, body {
height: 100%;
}
body {
margin: 0;
font-family: 'Roboto', 'Helvetica Neue', sans-serif;
background-color: var(--bg-color);
color: var(--text-main);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Common Layout Utilities */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}
.card {
background-color: var(--surface-color);
border: 1px solid var(--border-color);
border-radius: var(--radius-lg);
padding: 2rem;
box-shadow: var(--shadow-md);
transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
border-radius: var(--radius-md);
font-weight: 500;
cursor: pointer;
transition: background-color var(--transition-fast);
border: none;
font-size: 1rem;
text-decoration: none;
}
.btn-primary {
background-color: var(--primary-color);
color: white;
&:hover {
background-color: var(--primary-hover);
}
}
.btn-secondary {
background-color: transparent;
border: 1px solid var(--border-color);
color: var(--text-main);
&:hover {
background-color: var(--surface-hover);
}
}
.grid-2 {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
@media (min-width: 768px) {
grid-template-columns: repeat(2, 1fr);
}
}
h1, h2, h3 {
margin-top: 0;
font-weight: 700;
letter-spacing: -0.025em;
}
a {
color: var(--primary-color);
text-decoration: none;
cursor: pointer;
}