Design ludique arrondi + mobile responsive + fix IPv6
- ToolboxVignette: prop bullets[] remplace description, touch targets agrandis - Design arrondi: border-radius 16px cards, 20px pills, 12px inputs, no borders - Hover animations: translateY(-3px) + shadow, active states pour touch - SectionLayout: toolbox accordion mobile, pills scroll horizontal, responsive title/subtitle - app.vue: MoodSwitcher dans drawer mobile, header responsive, nav touch-friendly - Dashboard: grille 2-colonnes mobile, connect banner column layout, formula code scroll - Documents/decisions/mandates/protocols: cards responsive (padding, font-size, gap) - Login: touch targets 3rem min, iOS zoom prevention, responsive sizing - Modals: padding responsive sm:p-6 - Protocols: table compact mobile, proto items responsive - nuxt.config: host 0.0.0.0 pour fix IPv4/IPv6 binding Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -39,73 +39,73 @@
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Zen — Frais, vegetal, vivant (Light)
|
||||
Palette: sauge / lavande / terre cuite / bleu ciel
|
||||
Zen — Foret profonde, vegetal et mineral (Light)
|
||||
Palette: vert sombre / brun chaud / bleu ardoise / terre
|
||||
-------------------------------------------------------------------------- */
|
||||
.mood-zen {
|
||||
--mood-bg: #f6f9f5;
|
||||
--mood-surface: #ffffff;
|
||||
--mood-surface-hover: #ecf4e8;
|
||||
--mood-text: #172014;
|
||||
--mood-text-muted: #4e6d48;
|
||||
--mood-accent: #2e8250;
|
||||
--mood-accent-soft: rgba(46, 130, 80, 0.07);
|
||||
--mood-bg: #f0f4ef;
|
||||
--mood-surface: #fafcf9;
|
||||
--mood-surface-hover: #e4ece0;
|
||||
--mood-text: #0e1a0c;
|
||||
--mood-text-muted: #3a5634;
|
||||
--mood-accent: #1a6838;
|
||||
--mood-accent-soft: rgba(26, 104, 56, 0.08);
|
||||
--mood-accent-text: #ffffff;
|
||||
--mood-border: #bdd4b8;
|
||||
--mood-secondary: #7868a6;
|
||||
--mood-tertiary: #b86830;
|
||||
--mood-success: #1d9048;
|
||||
--mood-warning: #a87020;
|
||||
--mood-error: #b83838;
|
||||
--mood-gradient: linear-gradient(145deg, #f2f8ef 0%, #ffffff 40%, #f4f0f8 100%);
|
||||
--mood-shadow: rgba(40, 100, 60, 0.06);
|
||||
--mood-input-bg: #ffffff;
|
||||
--mood-input-border: #a4c4a0;
|
||||
--mood-input-focus: #2e8250;
|
||||
--mood-border: #a0c098;
|
||||
--mood-secondary: #6b5838;
|
||||
--mood-tertiary: #3a6878;
|
||||
--mood-success: #146830;
|
||||
--mood-warning: #8a6018;
|
||||
--mood-error: #a03030;
|
||||
--mood-gradient: linear-gradient(145deg, #eaf2e6 0%, #fafcf9 40%, #f0ece4 100%);
|
||||
--mood-shadow: rgba(26, 80, 40, 0.08);
|
||||
--mood-input-bg: #fafcf9;
|
||||
--mood-input-border: #90b088;
|
||||
--mood-input-focus: #1a6838;
|
||||
|
||||
--mood-status-prepa: #a87020;
|
||||
--mood-status-prepa-bg: rgba(168, 112, 32, 0.10);
|
||||
--mood-status-vote: #6858a0;
|
||||
--mood-status-vote-bg: rgba(104, 88, 160, 0.10);
|
||||
--mood-status-vigueur: #1d9048;
|
||||
--mood-status-vigueur-bg: rgba(29, 144, 72, 0.10);
|
||||
--mood-status-clos: #607858;
|
||||
--mood-status-clos-bg: rgba(96, 120, 88, 0.08);
|
||||
--mood-status-prepa: #8a6018;
|
||||
--mood-status-prepa-bg: rgba(138, 96, 24, 0.10);
|
||||
--mood-status-vote: #3a6878;
|
||||
--mood-status-vote-bg: rgba(58, 104, 120, 0.10);
|
||||
--mood-status-vigueur: #146830;
|
||||
--mood-status-vigueur-bg: rgba(20, 104, 48, 0.10);
|
||||
--mood-status-clos: #506848;
|
||||
--mood-status-clos-bg: rgba(80, 104, 72, 0.08);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Chagrine — Lumineux, electrique, profond (Dark)
|
||||
Palette: violet vif / cyan / magenta / or
|
||||
Chagrine — Profond, electrique, bleu dominant (Dark)
|
||||
Palette: bleu electrique / cyan / magenta / or
|
||||
-------------------------------------------------------------------------- */
|
||||
.mood-chagrine {
|
||||
--mood-bg: #14101e;
|
||||
--mood-surface: #1c1628;
|
||||
--mood-surface-hover: #261e38;
|
||||
--mood-text: #e4daf0;
|
||||
--mood-text-muted: #9888b8;
|
||||
--mood-accent: #9470d8;
|
||||
--mood-accent-soft: rgba(148, 112, 216, 0.12);
|
||||
--mood-bg: #0c1018;
|
||||
--mood-surface: #121824;
|
||||
--mood-surface-hover: #1a2438;
|
||||
--mood-text: #d8e4f0;
|
||||
--mood-text-muted: #7898c0;
|
||||
--mood-accent: #4088d8;
|
||||
--mood-accent-soft: rgba(64, 136, 216, 0.12);
|
||||
--mood-accent-text: #ffffff;
|
||||
--mood-border: #302448;
|
||||
--mood-border: #1e3050;
|
||||
--mood-secondary: #38c8c8;
|
||||
--mood-tertiary: #e07090;
|
||||
--mood-success: #40d888;
|
||||
--mood-tertiary: #d870a0;
|
||||
--mood-success: #38d080;
|
||||
--mood-warning: #e0b040;
|
||||
--mood-error: #e86060;
|
||||
--mood-gradient: linear-gradient(145deg, #14101e 0%, #1c1628 40%, #101820 100%);
|
||||
--mood-shadow: rgba(120, 80, 200, 0.12);
|
||||
--mood-input-bg: #1c1628;
|
||||
--mood-input-border: #3c2c58;
|
||||
--mood-input-focus: #9470d8;
|
||||
--mood-error: #e06060;
|
||||
--mood-gradient: linear-gradient(145deg, #0c1018 0%, #121824 40%, #0c1420 100%);
|
||||
--mood-shadow: rgba(40, 100, 200, 0.15);
|
||||
--mood-input-bg: #121824;
|
||||
--mood-input-border: #283c58;
|
||||
--mood-input-focus: #4088d8;
|
||||
|
||||
--mood-status-prepa: #e0b040;
|
||||
--mood-status-prepa-bg: rgba(224, 176, 64, 0.15);
|
||||
--mood-status-vote: #38c8c8;
|
||||
--mood-status-vote-bg: rgba(56, 200, 200, 0.14);
|
||||
--mood-status-vigueur: #40d888;
|
||||
--mood-status-vigueur-bg: rgba(64, 216, 136, 0.14);
|
||||
--mood-status-clos: #7868a0;
|
||||
--mood-status-clos-bg: rgba(120, 104, 160, 0.12);
|
||||
--mood-status-vigueur: #38d080;
|
||||
--mood-status-vigueur-bg: rgba(56, 208, 128, 0.14);
|
||||
--mood-status-clos: #6080a8;
|
||||
--mood-status-clos-bg: rgba(96, 128, 168, 0.12);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
@@ -144,35 +144,59 @@
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Global design tokens
|
||||
Global design tokens — Nunito, rounded, borderless
|
||||
========================================================================== */
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: 'Nunito', system-ui, -apple-system, sans-serif;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Nunito', system-ui, -apple-system, sans-serif;
|
||||
transition: background-color 0.3s ease, color 0.3s ease;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* --- No borders anywhere --- */
|
||||
button, input, select, textarea {
|
||||
border: none !important;
|
||||
outline: none;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
input:focus, select:focus, textarea:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 2.5px var(--mood-accent-soft);
|
||||
}
|
||||
|
||||
/* --- Status pills --- */
|
||||
.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;
|
||||
padding: 5px 14px;
|
||||
border-radius: 20px;
|
||||
font-size: 0.8125rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.01em;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s ease;
|
||||
user-select: none;
|
||||
border: none;
|
||||
border: none !important;
|
||||
}
|
||||
.status-pill:hover {
|
||||
filter: brightness(1.1);
|
||||
filter: brightness(1.08);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
.status-pill.active {
|
||||
box-shadow: 0 0 0 2px var(--mood-accent);
|
||||
box-shadow: 0 0 0 2.5px var(--mood-accent);
|
||||
}
|
||||
|
||||
.status-prepa {
|
||||
@@ -193,14 +217,32 @@ body {
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Nuxt UI overrides
|
||||
Nuxt UI overrides — borderless everything
|
||||
========================================================================== */
|
||||
|
||||
:root .mood-peps,
|
||||
:root .mood-zen,
|
||||
:root .mood-chagrine,
|
||||
:root .mood-grave {
|
||||
--ui-border: var(--mood-input-border);
|
||||
--ui-border: transparent;
|
||||
--ui-bg: var(--mood-input-bg);
|
||||
--ui-text-highlighted: var(--mood-accent);
|
||||
}
|
||||
|
||||
:root button,
|
||||
:root [class*="UButton"],
|
||||
:root [class*="u-button"],
|
||||
:root [data-variant] {
|
||||
border: none !important;
|
||||
font-family: 'Nunito', system-ui, sans-serif !important;
|
||||
}
|
||||
|
||||
:root input,
|
||||
:root textarea,
|
||||
:root select,
|
||||
:root [class*="UInput"],
|
||||
:root [class*="USelect"],
|
||||
:root [class*="UTextarea"] {
|
||||
border: none !important;
|
||||
font-family: 'Nunito', system-ui, sans-serif !important;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user