- CSS: couleurs saturees sans pastels, border-radius 4-6px, inputs mood-aware - Header: allege (3.25rem), logo typographique, bouton connexion fin - Login: redesign complet avec steps dots et input natif style - Dashboard: entry cards epurees, tags toolbox compacts - Seed: 34 vraies clauses forgeron v2.0.0 (forum topic 33165) - Seed: 9 clauses certification (licence G1) - Seed: 11 votants simules + 3 sessions de vote (10 pour / 1 contre) - MoodSwitcher: dots colores au lieu d'icones Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
208 lines
6.6 KiB
CSS
208 lines
6.6 KiB
CSS
/* ==========================================================================
|
|
Glibredecision — Mood / Ambiance System
|
|
4 moods: Peps (light), Zen (light), Chagrine (dark), Grave (dark)
|
|
|
|
Design: saturated, modern, zero pastels.
|
|
========================================================================== */
|
|
|
|
/* --------------------------------------------------------------------------
|
|
Peps — Energique, vif, franc (Light)
|
|
-------------------------------------------------------------------------- */
|
|
.mood-peps {
|
|
--mood-bg: #fafafa;
|
|
--mood-surface: #ffffff;
|
|
--mood-surface-hover: #f5f0ec;
|
|
--mood-text: #18120e;
|
|
--mood-text-muted: #6e5f52;
|
|
--mood-accent: #d44a10;
|
|
--mood-accent-soft: rgba(212, 74, 16, 0.08);
|
|
--mood-accent-text: #ffffff;
|
|
--mood-border: #e0d5cb;
|
|
--mood-success: #18843b;
|
|
--mood-warning: #c27e07;
|
|
--mood-error: #c42b2b;
|
|
--mood-gradient: linear-gradient(160deg, #faf8f5 0%, #ffffff 50%, #faf7f4 100%);
|
|
--mood-shadow: rgba(120, 60, 10, 0.06);
|
|
--mood-input-bg: #ffffff;
|
|
--mood-input-border: #c9bdb0;
|
|
--mood-input-focus: #d44a10;
|
|
|
|
--mood-status-prepa: #b35c0a;
|
|
--mood-status-prepa-bg: rgba(179, 92, 10, 0.12);
|
|
--mood-status-vote: #1856a8;
|
|
--mood-status-vote-bg: rgba(24, 86, 168, 0.10);
|
|
--mood-status-vigueur: #18843b;
|
|
--mood-status-vigueur-bg: rgba(24, 132, 59, 0.10);
|
|
--mood-status-clos: #5c5c5c;
|
|
--mood-status-clos-bg: rgba(92, 92, 92, 0.08);
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
Zen — Ancre, equilibre, sobre (Light)
|
|
-------------------------------------------------------------------------- */
|
|
.mood-zen {
|
|
--mood-bg: #f7f9f7;
|
|
--mood-surface: #ffffff;
|
|
--mood-surface-hover: #edf3ee;
|
|
--mood-text: #141e14;
|
|
--mood-text-muted: #4a6650;
|
|
--mood-accent: #2d7a4a;
|
|
--mood-accent-soft: rgba(45, 122, 74, 0.07);
|
|
--mood-accent-text: #ffffff;
|
|
--mood-border: #c2d4c6;
|
|
--mood-success: #1d8a42;
|
|
--mood-warning: #b07309;
|
|
--mood-error: #be3232;
|
|
--mood-gradient: linear-gradient(160deg, #f4f8f4 0%, #ffffff 50%, #f5f8f5 100%);
|
|
--mood-shadow: rgba(30, 80, 50, 0.05);
|
|
--mood-input-bg: #ffffff;
|
|
--mood-input-border: #a8c0ad;
|
|
--mood-input-focus: #2d7a4a;
|
|
|
|
--mood-status-prepa: #9e6b0a;
|
|
--mood-status-prepa-bg: rgba(158, 107, 10, 0.10);
|
|
--mood-status-vote: #1565a5;
|
|
--mood-status-vote-bg: rgba(21, 101, 165, 0.10);
|
|
--mood-status-vigueur: #1d8a42;
|
|
--mood-status-vigueur-bg: rgba(29, 138, 66, 0.10);
|
|
--mood-status-clos: #606060;
|
|
--mood-status-clos-bg: rgba(96, 96, 96, 0.08);
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
Chagrine — Dense, veloute, introspectif (Dark)
|
|
-------------------------------------------------------------------------- */
|
|
.mood-chagrine {
|
|
--mood-bg: #16121e;
|
|
--mood-surface: #1e1828;
|
|
--mood-surface-hover: #281f36;
|
|
--mood-text: #e0d8ec;
|
|
--mood-text-muted: #8e80a8;
|
|
--mood-accent: #8b6cc4;
|
|
--mood-accent-soft: rgba(139, 108, 196, 0.12);
|
|
--mood-accent-text: #ffffff;
|
|
--mood-border: #2e2540;
|
|
--mood-success: #48c278;
|
|
--mood-warning: #d4a030;
|
|
--mood-error: #e06060;
|
|
--mood-gradient: linear-gradient(160deg, #16121e 0%, #1e1828 50%, #1a1524 100%);
|
|
--mood-shadow: rgba(100, 60, 180, 0.10);
|
|
--mood-input-bg: #1e1828;
|
|
--mood-input-border: #3a2e52;
|
|
--mood-input-focus: #8b6cc4;
|
|
|
|
--mood-status-prepa: #c4a050;
|
|
--mood-status-prepa-bg: rgba(196, 160, 80, 0.14);
|
|
--mood-status-vote: #7090d0;
|
|
--mood-status-vote-bg: rgba(112, 144, 208, 0.14);
|
|
--mood-status-vigueur: #48c278;
|
|
--mood-status-vigueur-bg: rgba(72, 194, 120, 0.14);
|
|
--mood-status-clos: #706080;
|
|
--mood-status-clos-bg: rgba(112, 96, 128, 0.12);
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
Grave — Mineral, solennel, net (Dark)
|
|
-------------------------------------------------------------------------- */
|
|
.mood-grave {
|
|
--mood-bg: #111214;
|
|
--mood-surface: #191a1e;
|
|
--mood-surface-hover: #22201c;
|
|
--mood-text: #e2e0d8;
|
|
--mood-text-muted: #8a877e;
|
|
--mood-accent: #c49530;
|
|
--mood-accent-soft: rgba(196, 149, 48, 0.10);
|
|
--mood-accent-text: #111214;
|
|
--mood-border: #2a2a2e;
|
|
--mood-success: #4ac070;
|
|
--mood-warning: #d4a530;
|
|
--mood-error: #d85050;
|
|
--mood-gradient: linear-gradient(160deg, #111214 0%, #191a1e 50%, #141518 100%);
|
|
--mood-shadow: rgba(160, 120, 30, 0.08);
|
|
--mood-input-bg: #191a1e;
|
|
--mood-input-border: #38362e;
|
|
--mood-input-focus: #c49530;
|
|
|
|
--mood-status-prepa: #c49530;
|
|
--mood-status-prepa-bg: rgba(196, 149, 48, 0.14);
|
|
--mood-status-vote: #5a90c8;
|
|
--mood-status-vote-bg: rgba(90, 144, 200, 0.14);
|
|
--mood-status-vigueur: #4ac070;
|
|
--mood-status-vigueur-bg: rgba(74, 192, 112, 0.14);
|
|
--mood-status-clos: #686860;
|
|
--mood-status-clos-bg: rgba(104, 104, 96, 0.12);
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Global design tokens — modern, refined, thin
|
|
========================================================================== */
|
|
|
|
body {
|
|
transition: background-color 0.3s ease, color 0.3s ease;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
/* --- Status pills — compact, saturated, NO pastels --- */
|
|
.status-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 3px 10px;
|
|
border-radius: 4px;
|
|
font-size: 0.6875rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.02em;
|
|
text-transform: uppercase;
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
user-select: none;
|
|
border: none;
|
|
}
|
|
.status-pill:hover {
|
|
filter: brightness(1.1);
|
|
}
|
|
.status-pill.active {
|
|
box-shadow: 0 0 0 2px var(--mood-accent);
|
|
}
|
|
|
|
.status-prepa {
|
|
background: var(--mood-status-prepa-bg);
|
|
color: var(--mood-status-prepa);
|
|
}
|
|
.status-vote {
|
|
background: var(--mood-status-vote-bg);
|
|
color: var(--mood-status-vote);
|
|
}
|
|
.status-vigueur {
|
|
background: var(--mood-status-vigueur-bg);
|
|
color: var(--mood-status-vigueur);
|
|
}
|
|
.status-clos {
|
|
background: var(--mood-status-clos-bg);
|
|
color: var(--mood-status-clos);
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Global overrides — Nuxt UI refinements
|
|
========================================================================== */
|
|
|
|
/* Inputs: thin, clean, mood-aware */
|
|
:root .mood-peps,
|
|
:root .mood-zen,
|
|
:root .mood-chagrine,
|
|
:root .mood-grave {
|
|
/* UInput / UTextarea */
|
|
--ui-border: var(--mood-input-border);
|
|
--ui-bg: var(--mood-input-bg);
|
|
--ui-text-highlighted: var(--mood-accent);
|
|
}
|
|
|
|
/* UButton refinements */
|
|
:root .mood-peps button[class*="UButton"],
|
|
:root .mood-zen button[class*="UButton"],
|
|
:root .mood-chagrine button[class*="UButton"],
|
|
:root .mood-grave button[class*="UButton"] {
|
|
font-weight: 500;
|
|
letter-spacing: 0.01em;
|
|
}
|