/* Atelya — design tokens from Figma */
:root {
  --atelya-purple: #7c3aed;
  --atelya-fuchsia: #d946ef;
  --atelya-gradient: linear-gradient(135deg, #7c3aed 0%, #d946ef 70.71%);
  --atelya-bg-soft: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(217, 70, 239, 0.1) 70.71%);
  --atelya-text: #111827;
  --atelya-text-muted: #4b5563;
  --atelya-text-light: #6b7280;
  --atelya-border: #e5e7eb;
  --atelya-border-card: #f3f4f6;
  --atelya-bg-gray: #f9fafb;
  --atelya-green: #16a34a;
  --atelya-white: #fff;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-sans); color: var(--atelya-text); background: var(--atelya-white); }
a { color: inherit; text-decoration: none; }

/* Layout */
.atelya-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.atelya-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 0; border-bottom: 1px solid var(--atelya-border); }
.atelya-logo { font-weight: 700; font-size: 1.25rem; }
.atelya-nav { display: flex; align-items: center; gap: 32px; }
.atelya-nav a { font-size: 0.9375rem; font-weight: 500; }
.atelya-nav a:hover { color: var(--atelya-purple); }
.atelya-btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; border-radius: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; border: none; transition: opacity 0.2s; }
.atelya-btn:hover { opacity: 0.9; }
.atelya-btn-primary { background: var(--atelya-gradient); color: var(--atelya-white); }
.atelya-btn-outline { background: transparent; color: var(--atelya-text); border: 2px solid var(--atelya-purple); }
.atelya-btn-ghost { background: transparent; color: var(--atelya-text); }

/* Hero */
.atelya-hero-title { font-size: 3.75rem; line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 1rem; }
.atelya-hero-title .gradient { background: var(--atelya-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.atelya-hero-desc { font-size: 1.25rem; line-height: 1.65; color: var(--atelya-text-muted); max-width: 576px; margin-bottom: 2rem; }

/* Sections */
.atelya-section { padding: 80px 0; }
.atelya-section-alt { background: var(--atelya-bg-gray); }
.atelya-section-title { font-size: 3rem; font-weight: 700; text-align: center; line-height: 1.2; margin: 0 0 1rem; }
.atelya-section-title .gradient { background: var(--atelya-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.atelya-section-desc { font-size: 1.25rem; color: var(--atelya-text-muted); text-align: center; max-width: 768px; margin: 0 auto 3rem; line-height: 1.65; }

/* Cards */
.atelya-card { background: var(--atelya-white); border: 1px solid var(--atelya-border-card); border-radius: 16px; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.07); }
.atelya-card-image { width: 100%; height: 192px; object-fit: cover; }
.atelya-card-body { padding: 24px; }
.atelya-card-category { font-size: 0.75rem; font-weight: 500; color: var(--atelya-purple); margin-bottom: 8px; }
.atelya-card-title { font-size: 1rem; font-weight: 600; margin: 0 0 8px; }
.atelya-card-desc { font-size: 0.875rem; color: var(--atelya-text-muted); line-height: 1.4; margin-bottom: 16px; }
.atelya-card-meta { display: flex; align-items: center; justify-content: space-between; }
a.atelya-card--interactive { transition: transform 0.15s ease, box-shadow 0.15s ease; }
a.atelya-card--interactive:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }

/* Notices démo / information utilisateur */
.atelya-demo-notice { font-size: 14px; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px 18px; line-height: 1.5; }
.atelya-demo-notice strong { color: #78350f; }
.atelya-demo-notice p:last-child { margin-bottom: 0; }
.atelya-avatars { display: flex; }
.atelya-avatar { width: 24px; height: 24px; border-radius: 9999px; border: 2px solid var(--atelya-white); margin-left: -8px; object-fit: cover; }
.atelya-avatar:first-child { margin-left: 0; }

/* Project grid */
.atelya-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 1024px) { .atelya-project-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .atelya-project-grid { grid-template-columns: 1fr; } }

/* Pills / tags */
.atelya-pill { display: inline-block; padding: 10px 20px; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; margin-right: 8px; margin-bottom: 8px; }
.atelya-pill-active { background: var(--atelya-bg-soft); border: 1px solid #f3e8ff; color: var(--atelya-purple); }
.atelya-pill-default { background: var(--atelya-bg-gray); color: var(--atelya-text); }

/* Search */
.atelya-search-wrap { max-width: 960px; margin: 0 auto 24px; }
.atelya-search { width: 100%; height: 64px; padding: 0 24px 0 56px; border: 2px solid var(--atelya-border); border-radius: 16px; font-size: 1.125rem; box-shadow: 0 4px 6px rgba(0,0,0,0.07); background: var(--atelya-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") 24px center no-repeat; }
.atelya-search::placeholder { color: var(--atelya-text-muted); }

/* Footer */
.atelya-footer { background: var(--atelya-text); color: var(--atelya-white); padding: 64px 0 32px; margin-top: 80px; }
.atelya-footer-grid { display: grid; grid-template-columns: 1fr repeat(3, auto); gap: 48px; max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.atelya-footer-tagline { font-size: 0.875rem; color: rgba(255,255,255,0.8); margin-top: 8px; max-width: 280px; }
.atelya-footer h4 { font-size: 0.875rem; font-weight: 600; margin: 0 0 16px; }
.atelya-footer ul { list-style: none; padding: 0; margin: 0; }
.atelya-footer li { margin-bottom: 8px; }
.atelya-footer a { color: rgba(255,255,255,0.8); font-size: 0.875rem; }
.atelya-footer a:hover { color: var(--atelya-white); }

/* Project show page */
.atelya-project-layout { display: grid; grid-template-columns: 1fr 320px; gap: 48px; max-width: 1216px; margin: 0 auto; padding: 48px 32px; }
@media (max-width: 1024px) { .atelya-project-layout { grid-template-columns: 1fr; } }
.atelya-project-hero-image { width: 100%; height: 400px; object-fit: cover; border-radius: 24px; }
.atelya-sidebar-card { background: var(--atelya-white); border: 2px solid var(--atelya-border); border-radius: 24px; padding: 32px; margin-bottom: 24px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-progress-bar { height: 8px; background: #f3f4f6; border-radius: 9999px; overflow: hidden; margin-top: 8px; }
.atelya-progress-fill { height: 100%; background: var(--atelya-purple); border-radius: 9999px; }
.atelya-progress-fill-green { background: var(--atelya-green); }
.atelya-tag-list { display: flex; flex-wrap: wrap; gap: 12px; }
.atelya-tag { padding: 10px 20px; border: 1px solid var(--atelya-purple); border-radius: 9999px; font-size: 1rem; font-weight: 500; color: var(--atelya-purple); }
.atelya-step { display: flex; gap: 16px; margin-bottom: 24px; }
.atelya-step-num { width: 48px; height: 48px; border-radius: 9999px; background: var(--atelya-purple); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.125rem; flex-shrink: 0; }
.atelya-step-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; }
.atelya-step-desc { font-size: 1rem; color: var(--atelya-text-muted); line-height: 1.5; }
.atelya-team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.atelya-team-card { border: 1px solid var(--atelya-border); border-radius: 16px; padding: 24px; }
.atelya-team-card .atelya-avatar { width: 56px; height: 56px; margin: 0; }
.atelya-milestone { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.atelya-milestone-done { color: var(--atelya-purple); }
.atelya-milestone-pending { color: var(--atelya-text-light); }

/* Register wizard */
.atelya-register-wrap { min-height: 100vh; background: linear-gradient(145.25deg, #faf5ff 0%, #fff 35.355%, #eff6ff 70.711%); }
.atelya-register-wrap .atelya-container { max-width: 672px; margin-left: auto; margin-right: auto; padding: 80px 32px 120px; }
.atelya-register-stepper { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 8px; }
.atelya-register-stepper .step { width: 32px; height: 32px; border-radius: 9999px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; letter-spacing: -0.5px; flex-shrink: 0; }
.atelya-register-stepper .step.active { background: var(--atelya-purple); color: #fff; }
.atelya-register-stepper .step.done { background: #8b5cf6; color: #fff; }
.atelya-register-stepper .step.inactive { background: #e5e7eb; color: #6b7280; }
.atelya-register-stepper .line { width: 64px; height: 4px; border-radius: 4px; background: #e5e7eb; flex-shrink: 0; }
.atelya-register-stepper-label { text-align: center; font-size: 14px; color: #6b7280; letter-spacing: -0.5px; margin-top: 8px; }
.atelya-register-card { background: #fff; border: 2px solid #e5e7eb; border-radius: 12px; padding: 24px; cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s; text-align: left; width: 100%; }
.atelya-register-card:hover { border-color: #d1d5db; }
.atelya-register-card.selected { border-color: var(--atelya-purple); box-shadow: 0 0 0 1px var(--atelya-purple); }
.atelya-register-card-icon { width: 48px; height: 48px; border-radius: 8px; background: #faf5ff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.atelya-register-card-title { font-size: 16px; font-weight: 500; color: #111827; margin-bottom: 4px; }
.atelya-register-card-desc { font-size: 14px; color: #6b7280; line-height: 1.4; }
.atelya-register-input { width: 100%; height: 54px; border-radius: 12px; border: 1px solid #e5e7eb; padding: 0 15px; font-size: 16px; color: #111827; letter-spacing: -0.5px; background: #fff; }
.atelya-register-input:focus { outline: none; border-color: var(--atelya-purple); box-shadow: 0 0 0 2px rgba(124,58,237,0.2); }
.atelya-register-input::placeholder { color: #9ca3af; }
.atelya-register-input.readonly { background: #f9fafb; color: #6b7280; }
.atelya-register-label { display: block; font-size: 14px; font-weight: 500; color: #374151; margin-bottom: 8px; letter-spacing: -0.5px; }
.atelya-register-label .required { color: var(--atelya-purple); }
.atelya-register-hint-box { background: #f5f3ff; border-radius: 12px; padding: 20px; margin-bottom: 16px; }
.atelya-register-hint-box p { font-size: 14px; color: #374151; margin: 0 0 8px; letter-spacing: -0.5px; display: flex; align-items: center; gap: 8px; }
.atelya-register-hint-box p:last-child { margin-bottom: 0; }
.atelya-register-btn-block { width: 100%; max-width: 448px; height: 62px; border-radius: 12px; border: 1px solid #e5e7eb; background: #fff; display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; font-size: 18px; font-weight: 500; color: #111827; letter-spacing: -0.5px; transition: background 0.2s, border-color 0.2s; }
.atelya-register-btn-block:hover { background: #f9fafb; border-color: #d1d5db; }
.atelya-register-btn-block.btn-apple { background: #000; border: none; color: #fff; height: 60px; }
.atelya-register-btn-block.btn-apple:hover { background: #333; }
.atelya-register-btn-block.btn-email { background: #f9fafb; }
.atelya-register-dots { display: flex; align-items: center; justify-content: center; gap: 8px; opacity: 0.4; }
.atelya-register-dots .dot { width: 8px; height: 8px; border-radius: 9999px; background: #d1d5db; }
.atelya-register-dots .dot.active { background: var(--atelya-purple); }

/* Profile (edit & public) */
.atelya-profile-main { max-width: 1024px; margin: 0 auto; padding: 48px 32px 80px; }
.atelya-profile-section { background: #fff; border: 1px solid #f3f4f6; border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); margin-bottom: 32px; overflow: hidden; }
.atelya-profile-section-body { padding: 40px; }
.atelya-profile-section-title { font-size: 24px; font-weight: 600; color: #111827; letter-spacing: -0.5px; margin: 0 0 24px; }
.atelya-profile-section-actions { border-top: 1px solid #f3f4f6; padding: 24px 40px; display: flex; justify-content: flex-end; gap: 16px; }
.atelya-profile-avatar { width: 128px; height: 128px; border-radius: 9999px; object-fit: cover; flex-shrink: 0; }
.atelya-profile-input { width: 100%; height: 50px; border-radius: 12px; border: 1px solid #e5e7eb; padding: 0 15px; font-size: 16px; color: #1f2937; background: #fff; }
.atelya-profile-input:focus { outline: none; border-color: var(--atelya-purple); }
.atelya-profile-label { display: block; font-size: 14px; font-weight: 500; color: #374151; margin-bottom: 8px; letter-spacing: -0.5px; }
.atelya-profile-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 9999px; font-size: 14px; font-weight: 500; color: var(--atelya-purple); background: rgba(124,58,237,0.1); margin-right: 8px; margin-bottom: 8px; }
.atelya-profile-pill-remove { cursor: pointer; opacity: 0.7; padding: 0; border: none; background: none; color: inherit; font-size: 1rem; line-height: 1; }
.atelya-profile-pill-add { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 2px dashed #d1d5db; border-radius: 9999px; font-size: 14px; font-weight: 500; color: #6b7280; background: transparent; cursor: pointer; }
.atelya-profile-pill-add:hover { border-color: #9ca3af; color: #374151; }
.atelya-profile-textarea { width: 100%; min-height: 170px; border-radius: 12px; border: 1px solid #e5e7eb; padding: 15px; font-size: 16px; color: #1f2937; font-family: inherit; resize: vertical; }
.atelya-profile-textarea:focus { outline: none; border-color: var(--atelya-purple); }
.atelya-profile-role-card { background: linear-gradient(152deg, rgba(124,58,237,0.05) 0%, rgba(124,58,237,0.1) 70%); border: 1px solid rgba(124,58,237,0.2); border-radius: 12px; padding: 20px; }
.atelya-profile-role-card .icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(124,58,237,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.atelya-profile-role-card h3 { font-size: 16px; font-weight: 500; color: #111827; margin: 0 0 4px; }
.atelya-profile-role-card p { font-size: 14px; color: #4b5563; margin: 0; }
.atelya-profile-link-row { display: flex; align-items: center; gap: 16px; padding: 16px; background: #f9fafb; border-radius: 12px; margin-bottom: 12px; }
.atelya-profile-link-row:last-child { margin-bottom: 0; }
.atelya-profile-link-icon { width: 40px; height: 40px; border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.05); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.atelya-profile-link-label { font-size: 16px; font-weight: 500; color: #111827; }
.atelya-profile-link-value { font-size: 14px; color: #6b7280; }
.atelya-profile-public-hero { display: flex; gap: 24px; margin-bottom: 48px; }
.atelya-profile-public-name { font-size: 36px; font-weight: 700; color: #111827; letter-spacing: -0.5px; margin: 0 0 4px; }
.atelya-profile-public-fullname { font-size: 20px; color: #4b5563; margin: 0 0 12px; }
.atelya-profile-public-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.atelya-profile-public-badge { padding: 6px 14px; border-radius: 9999px; font-size: 14px; font-weight: 500; color: var(--atelya-purple); background: rgba(124,58,237,0.1); }
.atelya-profile-public-meta { display: flex; flex-wrap: wrap; gap: 24px; font-size: 16px; color: #4b5563; margin-bottom: 24px; }
.atelya-profile-public-actions { display: flex; gap: 16px; }
.atelya-profile-univers-block { background: #f9fafb; border-radius: 16px; padding: 32px; }
.atelya-profile-univers-block p { font-size: 18px; color: #374151; line-height: 1.65; margin: 0; }
.atelya-profile-inspirations-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.atelya-profile-inspirations-tags span { font-size: 16px; color: #374151; padding-right: 8px; margin-right: 8px; border-right: 1px solid #e5e7eb; }
.atelya-profile-inspirations-tags span:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.atelya-profile-creates-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.atelya-profile-creates-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; text-align: center; }
.atelya-profile-creates-card .icon { width: 16px; height: 16px; margin: 0 auto 8px; display: block; }
.atelya-profile-creates-card strong { font-size: 16px; font-weight: 500; color: #1f2937; }
.atelya-profile-links-row { display: flex; flex-wrap: wrap; gap: 16px; }
.atelya-profile-link-pill { display: inline-flex; align-items: center; gap: 12px; padding: 16px 16px; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; font-size: 16px; font-weight: 500; color: #1f2937; text-decoration: none; min-width: 196px; }
.atelya-profile-link-pill:hover { border-color: var(--atelya-purple); color: var(--atelya-purple); }
.atelya-profile-cta-box { background: linear-gradient(163deg, #faf5ff 0%, #eef2ff 70%); border-radius: 24px; border: 1px solid #f3e8ff; padding: 48px; text-align: center; margin-top: 48px; }
.atelya-profile-cta-box h2 { font-size: 24px; font-weight: 700; color: #111827; margin: 0 0 8px; }
.atelya-profile-cta-box p { font-size: 16px; color: #4b5563; margin: 0 0 24px; }
.atelya-profile-status { font-size: 12px; font-weight: 500; color: #166534; display: inline-flex; align-items: center; gap: 6px; }
.atelya-profile-status-dot { width: 8px; height: 8px; border-radius: 9999px; background: #4ade80; }
.atelya-profile-public-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-bottom: 4px; }
.atelya-profile-public-title-row .atelya-profile-public-name { margin: 0; }
.atelya-profile-edit-link { font-size: 14px; font-weight: 500; color: var(--atelya-purple); text-decoration: underline; margin-left: auto; }
.atelya-profile-edit-link:hover { color: var(--atelya-fuchsia); }
.atelya-profile-avatar--elevated { box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08); }
.atelya-project-owner-link { display: inline-flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; border-radius: 12px; margin: -8px; padding: 8px; transition: background 0.15s; }
.atelya-project-owner-link:hover { background: var(--atelya-bg-gray); }
.atelya-explorer-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.atelya-explorer-card-main { display: block; color: inherit; text-decoration: none; flex: 1; }
.atelya-explorer-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 24px 24px; font-size: 12px; color: var(--atelya-text-light); }
.atelya-explorer-owner-link { color: inherit; font-weight: 500; text-decoration: none; }
.atelya-explorer-owner-link:hover { color: var(--atelya-purple); }
@media (max-width: 640px) {
  .atelya-profile-public-hero { flex-direction: column; align-items: flex-start; }
  .atelya-profile-edit-link { margin-left: 0; }
}
@media (max-width: 768px) {
  .atelya-profile-creates-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .atelya-profile-creates-grid { grid-template-columns: 1fr; }
}

/* Project creation wizard */
.atelya-project-wrap { min-height: 100vh; background: linear-gradient(135deg, #faf5ff 0%, #fff 35%, #eff6ff 71%); }
.atelya-project-container { max-width: 704px; margin: 0 auto; padding: 48px 32px 120px; }
.atelya-project-title { font-size: 36px; font-weight: 700; color: #111827; text-align: center; letter-spacing: -0.5px; margin: 0 0 16px; line-height: 1.2; }
.atelya-project-lead { font-size: 20px; color: #4b5563; text-align: center; line-height: 1.4; margin: 0 0 8px; }
.atelya-project-hint { font-size: 14px; color: #6b7280; text-align: center; line-height: 1.4; margin: 0 0 32px; }
.atelya-project-btn-continue { min-width: 200px; height: 60px; font-size: 16px; font-weight: 600; border-radius: 12px; box-shadow: 0 4px 6px rgba(168,85,247,0.3); margin: 0 auto; display: block; }
.atelya-project-progress { margin-bottom: 48px; }
.atelya-project-progress-top { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #4b5563; margin-bottom: 8px; }
.atelya-project-progress-top strong { color: var(--atelya-purple); }
.atelya-project-progress-bar { height: 8px; background: #e5e7eb; border-radius: 9999px; overflow: hidden; }
.atelya-project-progress-fill { height: 100%; background: linear-gradient(90deg, #a855f7, #9333ea); border-radius: 9999px; transition: width 0.3s; }
.atelya-project-heading { font-size: 36px; font-weight: 700; color: #111827; letter-spacing: -0.5px; margin: 0 0 12px; line-height: 1.2; }
.atelya-project-sub { font-size: 18px; color: #4b5563; margin: 0 0 32px; line-height: 1.5; }
.atelya-project-form .atelya-project-field { margin-bottom: 24px; }
.atelya-project-label { display: block; font-size: 14px; font-weight: 600; color: #111827; margin-bottom: 8px; letter-spacing: -0.5px; }
.atelya-project-label .required { color: var(--atelya-purple); }
.atelya-project-label-hint { font-weight: 400; color: #6b7280; margin-left: 4px; }
.atelya-project-label-optional { font-weight: 400; color: #9ca3af; }
.atelya-project-input { width: 100%; height: 56px; border-radius: 12px; border: 2px solid #e5e7eb; padding: 0 14px; font-size: 16px; color: #111827; background: #fff; }
.atelya-project-input:focus { outline: none; border-color: var(--atelya-purple); }
.atelya-project-select { width: 100%; height: 59px; border-radius: 12px; border: 2px solid #e5e7eb; padding: 0 14px; font-size: 18px; color: #111827; background: #fff; }
.atelya-project-helper { font-size: 14px; color: #6b7280; margin-top: 8px; }
.atelya-project-char-count { font-size: 14px; color: #9ca3af; text-align: right; margin-top: 4px; }
.atelya-project-note { background: #eff6ff; border-radius: 12px; padding: 24px; margin: 24px 0; display: flex; gap: 16px; align-items: flex-start; }
.atelya-project-note--blue { background: #eff6ff; }
.atelya-project-note--purple { background: #faf5ff; border: 1px solid #f3e8ff; padding: 16px; margin: 16px 0; }
.atelya-project-note strong { display: block; font-size: 16px; color: #1e3a8a; margin-bottom: 4px; }
.atelya-project-note p { font-size: 14px; color: #1e40af; margin: 0; line-height: 1.5; font-style: italic; }
.atelya-project-note--purple p { color: #581c87; font-style: normal; font-size: 12px; }
.atelya-project-note-icon { font-size: 24px; flex-shrink: 0; }
.atelya-project-actions { display: flex; gap: 16px; align-items: center; margin-top: 40px; flex-wrap: wrap; }
.atelya-project-btn-back { height: 60px; padding: 0 24px; display: inline-flex; align-items: center; gap: 8px; }
.atelya-project-card { background: #fff; border: 1px solid #f3f4f6; border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); padding: 32px; margin-bottom: 24px; }
.atelya-project-textarea { width: 100%; min-height: 120px; border-radius: 12px; border: 2px solid #e5e7eb; padding: 14px; font-size: 16px; font-family: inherit; resize: vertical; }
.atelya-project-tags-input-wrap { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.atelya-project-tags-input-wrap .atelya-project-input { flex: 1; margin: 0; }
.atelya-project-tag-add { width: 40px; height: 40px; border-radius: 8px; background: var(--atelya-purple); color: #fff; border: none; font-size: 20px; cursor: pointer; flex-shrink: 0; }
.atelya-project-tag-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.atelya-project-tag-pill { padding: 8px 16px; border-radius: 9999px; background: #f3f4f6; border: none; font-size: 14px; color: #374151; cursor: pointer; }
.atelya-project-tag-pill:hover { background: #e5e7eb; }
.atelya-project-timeline { margin: 24px 0; }
.atelya-project-timeline-item { display: flex; gap: 24px; margin-bottom: 24px; position: relative; }
.atelya-project-timeline-dot { width: 48px; height: 48px; border-radius: 9999px; flex-shrink: 0; background: #7c3aed; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.atelya-project-timeline-dot--current { background: #d946ef; }
.atelya-project-timeline-dot--pending { background: #d1d5db; }
.atelya-project-timeline-line { width: 4px; background: #7c3aed; margin-left: 22px; min-height: 64px; border-radius: 2px; }
.atelya-project-timeline-card { flex: 1; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 24px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-project-timeline-card--current { border-color: #bfdbfe; border-width: 2px; }
.atelya-project-timeline-card--pending { background: #f9fafb; opacity: 0.85; }
.atelya-project-timeline-card strong { display: block; font-size: 18px; margin-bottom: 8px; }
.atelya-project-timeline-card p { font-size: 16px; color: #4b5563; margin: 0 0 8px; }
.atelya-project-timeline-status { font-size: 14px; color: #7c3aed; font-weight: 500; }
.atelya-project-btn-add-step { width: 100%; max-width: 208px; margin: 0 auto 24px; display: block; height: 52px; border: 2px dashed #d1d5db; border-radius: 12px; background: transparent; color: #4b5563; font-size: 16px; cursor: pointer; }
.atelya-project-roles-selected { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.atelya-project-role-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 9999px; background: rgba(124,58,237,0.1); color: #7e22ce; font-size: 14px; font-weight: 500; }
.atelya-project-pill-remove { background: none; border: none; cursor: pointer; padding: 0; font-size: 18px; color: inherit; opacity: 0.8; }
.atelya-project-role-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.atelya-project-role-suggestion-pill { padding: 8px 16px; border-radius: 9999px; border: 1px solid #d1d5db; background: #fff; font-size: 14px; color: #374151; cursor: pointer; }
.atelya-project-share-bar { display: flex; height: 64px; border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.atelya-project-share-fill { background: linear-gradient(90deg, #a855f7, #9333ea); }
.atelya-project-share-fill--open { background: linear-gradient(90deg, #60a5fa, #3b82f6); }
.atelya-project-share-legend { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: 14px; color: #6b7280; }
.atelya-project-legend-dot { width: 16px; height: 16px; border-radius: 4px; display: inline-block; vertical-align: middle; margin-right: 8px; }
.atelya-project-legend-dot--owner { background: linear-gradient(90deg, #a855f7, #9333ea); }
.atelya-project-legend-dot--open { background: linear-gradient(90deg, #60a5fa, #3b82f6); }
.atelya-project-slider { width: 100%; height: 8px; margin: 8px 0; accent-color: var(--atelya-purple); }
.atelya-project-collab-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.atelya-project-collab-card { display: flex; flex-direction: column; align-items: center; padding: 24px; border: 2px solid #e5e7eb; border-radius: 16px; background: #fff; cursor: pointer; transition: border-color 0.2s; }
.atelya-project-collab-card.selected { border-color: var(--atelya-purple); }
.atelya-project-collab-card input { display: none; }
.atelya-project-collab-icon { font-size: 48px; margin-bottom: 12px; }
.atelya-project-collab-card strong { font-size: 16px; margin-bottom: 4px; }
.atelya-project-collab-card span:last-child { font-size: 12px; color: #6b7280; }
.atelya-project-upload { border: 2px dashed #e5e7eb; border-radius: 12px; min-height: 269px; display: flex; align-items: center; justify-content: center; }
.atelya-project-upload-inner { text-align: center; padding: 48px; }
.atelya-project-upload-icon { font-size: 64px; display: block; margin-bottom: 16px; }
.atelya-project-upload-hint { font-size: 14px; color: #6b7280; margin: 8px 0 16px; }
.atelya-project-upload-browse { background: none; border: none; color: var(--atelya-purple); font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: underline; }
.atelya-project-link-row { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.atelya-project-link-icon { width: 40px; height: 40px; border-radius: 8px; background: #f9fafb; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.atelya-project-link-row .atelya-project-input { flex: 1; margin: 0; height: 50px; }
.atelya-project-add-link { background: none; border: none; color: var(--atelya-purple); font-size: 16px; font-weight: 500; cursor: pointer; padding: 0; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; }
.atelya-project-date-wrap { display: flex; gap: 12px; align-items: center; }
.atelya-project-date-icon { width: 40px; height: 40px; border-radius: 8px; background: #f9fafb; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.atelya-project-date-wrap .atelya-project-input { flex: 1; margin: 0; }
.atelya-project-actions--footer { border-top: 1px solid #f3f4f6; padding-top: 24px; margin-top: 48px; }
.atelya-project-actions--footer a { color: #4b5563; font-size: 16px; }
.atelya-project-success { text-align: center; padding-top: 80px; }
.atelya-project-success-icon { width: 116px; height: 116px; border-radius: 9999px; background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin: 0 auto 32px; display: flex; align-items: center; justify-content: center; font-size: 60px; color: #16a34a; }
.atelya-project-success-title { font-size: 48px; font-weight: 700; color: #2d3648; margin: 0 0 16px; line-height: 1.2; }
.atelya-project-success-sub { font-size: 20px; color: #5b6b8c; margin: 0 0 40px; }
.atelya-project-success-actions { display: flex; flex-direction: column; gap: 16px; max-width: 400px; margin: 0 auto 24px; }
.atelya-project-btn-large { width: 100%; height: 68px; font-size: 18px; }
.atelya-project-publish-later { color: #5b6b8c; font-size: 16px; text-decoration: underline; }
.atelya-project-success .atelya-project-note { margin-top: 48px; text-align: left; }

/* User dashboard (home when logged in) */
.atelya-dashboard { padding: 48px 0 80px; }
.atelya-dashboard-title { font-size: 36px; font-weight: 700; color: #111827; margin: 0 0 8px; letter-spacing: -0.5px; }
.atelya-dashboard-sub { font-size: 18px; color: #6b7280; margin: 0 0 32px; }
.atelya-dashboard-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 48px; }
.atelya-dashboard-action { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-width: 140px; height: 120px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; font-size: 14px; font-weight: 500; color: #374151; transition: border-color 0.2s, box-shadow 0.2s; cursor: pointer; text-decoration: none; -webkit-tap-highlight-color: transparent; position: relative; z-index: 1; }
/* Clic toujours reçu par le <a> (Safari / emoji dans le lien) */
.atelya-dashboard-action > * { pointer-events: none; }
.atelya-dashboard-action:hover { border-color: var(--atelya-purple); color: var(--atelya-purple); }
.atelya-dashboard-action--primary { background: var(--atelya-purple); border-color: var(--atelya-purple); color: #fff; font-weight: 600; }
.atelya-dashboard-action--primary:hover { opacity: 0.95; color: #fff; }
.atelya-dashboard-action-icon { font-size: 32px; }
.atelya-dashboard-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; }
@media (max-width: 1024px) { .atelya-dashboard-grid { grid-template-columns: 1fr; } }
.atelya-dashboard-section { margin-bottom: 48px; }
.atelya-dashboard-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.atelya-dashboard-section-head h2 { font-size: 24px; font-weight: 700; margin: 0; }
.atelya-dashboard-section-head a { color: var(--atelya-purple); font-size: 14px; font-weight: 500; }
.atelya-dashboard-conv-list { list-style: none; padding: 0; margin: 0; }
.atelya-dashboard-conv-list li { margin-bottom: 8px; border-radius: 12px; background: #fff; border: 1px solid #f3f4f6; overflow: hidden; }
.atelya-dashboard-conv-link { display: flex; align-items: center; gap: 16px; padding: 16px; text-decoration: none; color: inherit; width: 100%; box-sizing: border-box; transition: background 0.15s, border-color 0.15s; cursor: pointer; -webkit-tap-highlight-color: transparent; position: relative; z-index: 1; }
.atelya-dashboard-conv-link > * { pointer-events: none; }
.atelya-dashboard-conv-link:hover { background: #faf5ff; }
.atelya-dashboard-conv-list li div { flex: 1; min-width: 0; }
.atelya-dashboard-conv-list strong { display: block; font-size: 14px; margin-bottom: 2px; }
.atelya-dashboard-conv-list span:not(.atelya-dashboard-time) { font-size: 13px; color: #6b7280; }
.atelya-dashboard-time { font-size: 12px; color: #9ca3af; flex-shrink: 0; }
.atelya-dashboard-avatar { width: 40px; height: 40px; border-radius: 9999px; object-fit: cover; flex-shrink: 0; }
.atelya-dashboard-project-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 768px) { .atelya-dashboard-project-cards { grid-template-columns: 1fr; } }
.atelya-dashboard-project-card { display: block; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; padding: 24px; transition: box-shadow 0.2s; }
.atelya-dashboard-project-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.atelya-dashboard-project-card-bg { height: 80px; margin: -24px -24px 16px -24px; border-radius: 16px 16px 0 0; }
.atelya-dashboard-project-card h3 { font-size: 18px; font-weight: 600; margin: 0 0 8px; }
.atelya-dashboard-status { display: inline-block; padding: 4px 10px; border-radius: 9999px; font-size: 12px; font-weight: 500; background: #dcfce7; color: #166534; }
.atelya-dashboard-status--green { background: #dcfce7; color: #166534; }
.atelya-dashboard-pill { display: inline-block; padding: 4px 12px; border-radius: 9999px; font-size: 12px; background: rgba(124,58,237,0.1); color: var(--atelya-purple); margin-bottom: 8px; }
.atelya-dashboard-pill--orange { background: #ffedd5; color: #9a3412; }
.atelya-dashboard-project-meta { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 12px; color: #6b7280; }
.atelya-dashboard-shares { font-size: 12px; color: #6b7280; margin-top: 4px; display: block; }
.atelya-dashboard-missions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .atelya-dashboard-missions { grid-template-columns: 1fr; } }
.atelya-dashboard-mission { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 24px; }
.atelya-dashboard-mission-icon { font-size: 32px; display: block; margin-bottom: 12px; }
.atelya-dashboard-mission p { margin: 8px 0; font-size: 14px; }
.atelya-dashboard-mission span { font-size: 12px; color: #6b7280; }

/* Messagerie (conversation) */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.atelya-messages-back { font-size: 1.25rem; text-decoration: none; color: var(--atelya-purple); font-weight: 600; }
.atelya-messages-back:hover { text-decoration: underline; }
.atelya-messages-flash { padding: 12px 16px; background: #ecfdf5; border: 1px solid #bbf7d0; border-radius: 12px; color: #166534; font-size: 14px; margin-bottom: 20px; }
.atelya-messages-thread { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.atelya-messages-bubble { max-width: 85%; padding: 14px 16px; border-radius: 16px; font-size: 14px; line-height: 1.5; }
.atelya-messages-bubble p { margin: 0 0 8px; }
.atelya-messages-bubble--them { align-self: flex-start; background: #f3f4f6; color: #111827; border-bottom-left-radius: 4px; }
.atelya-messages-bubble--me { align-self: flex-end; background: var(--atelya-purple); color: #fff; border-bottom-right-radius: 4px; }
.atelya-messages-bubble--me .atelya-messages-meta { color: rgba(255,255,255,0.85); }
.atelya-messages-meta { font-size: 12px; color: #9ca3af; display: block; }
.atelya-messages-reply { display: flex; flex-direction: column; gap: 12px; padding-top: 8px; border-top: 1px solid #e5e7eb; }
.atelya-messages-textarea { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid #e5e7eb; border-radius: 12px; font-family: inherit; font-size: 14px; resize: vertical; min-height: 88px; }
.atelya-messages-textarea:focus { outline: none; border-color: var(--atelya-purple); box-shadow: 0 0 0 3px rgba(124,58,237,0.15); }
.atelya-messages-error { color: #b91c1c; font-size: 13px; margin: 0; }

/* Premier message (maquette Figma « Contacter » — node 85:261) */
.atelya-contact-first-wrap {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.atelya-contact-first-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
}
.atelya-contact-first-modal {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  max-height: min(944px, 90vh);
  overflow-y: auto;
  background: var(--atelya-white);
  border-radius: 16px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
  padding: 32px;
  box-sizing: border-box;
}
.atelya-contact-first-head {
  padding-bottom: 24px;
  margin-bottom: 8px;
  border-bottom: 1px solid #f3f4f6;
}
.atelya-contact-first-user {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.atelya-contact-first-avatar {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  object-fit: cover;
  flex-shrink: 0;
}
.atelya-contact-first-username {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.atelya-contact-first-sub {
  margin: 4px 0 0;
  font-size: 0.875rem;
  color: #6b7280;
  line-height: 1.4;
}
.atelya-contact-first-lead {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.55;
  color: #374151;
  letter-spacing: -0.02em;
}
.atelya-contact-first-lead-accent {
  font-weight: 500;
  color: var(--atelya-purple);
}
.atelya-contact-first-block { margin-bottom: 24px; }
.atelya-contact-first-label {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.atelya-contact-first-hint {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  font-size: 0.875rem;
  color: #6b7280;
  line-height: 1.45;
  background: rgba(124, 58, 237, 0.08);
  border-radius: 12px;
  letter-spacing: -0.02em;
}
.atelya-contact-first-hint-icon { flex-shrink: 0; line-height: 1.4; }
.atelya-contact-first-field { margin-bottom: 28px; }
.atelya-contact-first-textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 192px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  color: #1f2937;
  resize: vertical;
  letter-spacing: -0.02em;
}
.atelya-contact-first-textarea:focus {
  outline: none;
  border-color: var(--atelya-purple);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}
.atelya-contact-first-count {
  margin: 12px 0 0;
  font-size: 0.875rem;
  color: #9ca3af;
  letter-spacing: -0.02em;
}
.atelya-contact-first-topics {
  margin: 0 0 28px;
  padding: 0;
  border: none;
}
.atelya-contact-first-topics-legend {
  padding: 0;
  margin: 0 0 16px;
  font-size: 1rem;
  font-weight: 500;
  color: #374151;
  letter-spacing: -0.02em;
}
.atelya-contact-first-check {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  font-size: 1rem;
  color: #374151;
  cursor: pointer;
  letter-spacing: -0.02em;
}
.atelya-contact-first-check input {
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--atelya-purple);
}
.atelya-contact-first-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}
.atelya-contact-first-submit {
  width: 100%;
  justify-content: center;
  min-height: 48px;
  border-radius: 12px;
  background: var(--atelya-purple);
  border: none;
}
.atelya-contact-first-submit:hover { opacity: 0.95; }
.atelya-contact-first-btn-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  background: #f3f4f6;
  color: #374151;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: -0.02em;
  box-sizing: border-box;
}
.atelya-contact-first-btn-secondary:hover { background: #e5e7eb; color: #111827; }
.atelya-contact-first-foot {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #6b7280;
  text-align: center;
  letter-spacing: -0.02em;
}

/* Project dashboard (single project) */
.atelya-project-dashboard { padding: 32px 0 80px; }
.atelya-project-dashboard-header { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--atelya-border); }
.atelya-project-dashboard-header h1 { font-size: 28px; font-weight: 700; margin: 0; }
.atelya-project-dashboard-progress { flex: 1; min-width: 200px; }
.atelya-project-dashboard-progress span { font-size: 14px; color: #6b7280; }
.atelya-project-dashboard-owner { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #6b7280; }
.atelya-project-dashboard-actions h2 { font-size: 20px; font-weight: 700; margin: 0 0 24px; }
.atelya-project-dashboard-actions-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; }
.atelya-project-dashboard-action-card { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; background: #fff; border: 1px solid #f3f4f6; border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); transition: border-color 0.2s; position: relative; }
.atelya-project-dashboard-action-card:hover { border-color: var(--atelya-purple); }
.atelya-project-dashboard-action-card .icon { font-size: 28px; margin-bottom: 12px; }
.atelya-project-dashboard-action-card strong { font-size: 16px; margin-bottom: 4px; }
.atelya-project-dashboard-action-card span:last-child { font-size: 14px; color: #6b7280; }
.atelya-project-dashboard-action-dot { position: absolute; top: 12px; right: 12px; width: 8px; height: 8px; border-radius: 9999px; }
.atelya-project-dashboard-action-dot--red { background: #ef4444; }
.atelya-project-dashboard-action-dot--orange { background: #f97316; }
.atelya-project-dashboard-action-dot--blue { background: #3b82f6; }
.atelya-project-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 40px; }
@media (max-width: 1024px) { .atelya-project-dashboard-grid { grid-template-columns: 1fr; } }
.atelya-project-dashboard-block { background: #fff; border: 1px solid #f3f4f6; border-radius: 16px; padding: 24px; margin-bottom: 24px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-project-dashboard-block-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.atelya-project-dashboard-block h3 { font-size: 18px; font-weight: 700; margin: 0; }
.atelya-project-dashboard-block-head a { color: var(--atelya-purple); font-size: 14px; }
.atelya-project-dashboard-steps { list-style: none; padding: 0; margin: 0; }
.atelya-project-dashboard-steps li { display: flex; gap: 16px; margin-bottom: 20px; }
.atelya-project-dashboard-step-dot { width: 32px; height: 32px; border-radius: 9999px; background: #7c3aed; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.atelya-project-dashboard-step-dot--current { background: #d946ef; }
.atelya-project-dashboard-step-dot--pending { background: #d1d5db; color: #6b7280; }
.atelya-project-dashboard-steps strong { display: block; margin-bottom: 4px; }
.atelya-project-dashboard-steps span { font-size: 14px; color: #6b7280; }
.atelya-project-dashboard-hint { font-size: 14px; color: #9ca3af; margin: 16px 0 0; }
.atelya-project-dashboard-team { margin-bottom: 16px; }
.atelya-project-dashboard-team-item { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid #f3f4f6; }
.atelya-project-dashboard-team-item div strong { display: block; font-size: 14px; }
.atelya-project-dashboard-team-item div span { font-size: 12px; color: #6b7280; }
.atelya-project-dashboard-decision { padding: 20px; border-radius: 12px; margin-bottom: 16px; position: relative; }
.atelya-project-dashboard-decision--orange { background: #fff7ed; border: 1px solid #fed7aa; }
.atelya-project-dashboard-decision--green { background: #f0fdf4; border: 1px solid #bbf7d0; }
.atelya-project-dashboard-decision-tag { position: absolute; top: 12px; right: 12px; font-size: 12px; font-weight: 500; }
.atelya-project-dashboard-decision strong { display: block; margin-bottom: 4px; }
.atelya-project-dashboard-decision p { font-size: 14px; color: #4b5563; margin: 0 0 8px; }
.atelya-project-dashboard-decision-warn { font-size: 12px; color: #9a3412 !important; margin-top: 8px !important; }
.atelya-project-dashboard-missions div { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid #f3f4f6; font-size: 14px; }
.atelya-project-dashboard-thread { padding: 16px; background: #f9fafb; border-radius: 12px; margin-bottom: 16px; }
.atelya-project-dashboard-docs { margin-bottom: 16px; }
.atelya-project-dashboard-docs a { display: block; padding: 8px 0; color: var(--atelya-purple); font-size: 14px; }
.atelya-project-dashboard-notes { background: #faf5ff; border: 1px solid #f3e8ff; border-radius: 12px; padding: 16px; }
.atelya-project-dashboard-notes p { font-size: 14px; color: #581c87; margin: 8px 0 0; }

/* Communauté (Figma 102:3969, 102:4085, 102:4443, 102:4803, 102:4957) */
.atelya-community-page { padding: 32px 0 80px; min-height: 60vh; background: linear-gradient(144deg, #fff 0%, rgba(250, 245, 255, 0.35) 50%, rgba(255, 247, 237, 0.15) 100%); }
.atelya-community-inner { max-width: 896px; margin: 0 auto; }
.atelya-community-inner--narrow { max-width: 720px; }
.atelya-community-welcome { padding: 48px 0 80px; min-height: 70vh; background: linear-gradient(144deg, #fff 0%, rgba(250, 245, 255, 0.35) 50%, rgba(255, 247, 237, 0.15) 100%); }
.atelya-community-welcome-title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; text-align: center; color: #111827; letter-spacing: -0.04em; margin: 0 0 32px; line-height: 1.15; }
.atelya-community-welcome-lead, .atelya-community-welcome-body { text-align: center; font-size: 1.5rem; font-weight: 300; color: #374151; line-height: 1.35; margin: 0 0 8px; }
.atelya-community-welcome-body { font-size: 1.125rem; color: #4b5563; margin-top: 24px; margin-bottom: 48px; }
.atelya-community-welcome-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }
@media (max-width: 900px) { .atelya-community-welcome-cards { grid-template-columns: 1fr; } }
.atelya-community-welcome-card { background: #fff; border-radius: 24px; padding: 40px 24px; text-align: center; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-community-welcome-icon { width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 16px; background: #faf5ff; display: flex; align-items: center; justify-content: center; font-size: 1.75rem; }
.atelya-community-welcome-card-title { font-size: 1.25rem; font-weight: 500; margin: 0 0 12px; color: #111827; }
.atelya-community-welcome-card-desc { font-size: 1rem; font-weight: 300; color: #4b5563; margin: 0; line-height: 1.5; }
.atelya-community-welcome-cta { text-align: center; }
.atelya-community-welcome-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 68px; padding: 0 48px; border-radius: 9999px; background: var(--atelya-purple); color: #fff; font-size: 1.125rem; font-weight: 500; text-decoration: none; box-shadow: 0 4px 6px rgba(168, 85, 247, 0.2), 0 10px 15px rgba(168, 85, 247, 0.2); }
.atelya-community-welcome-btn:hover { opacity: 0.95; color: #fff; }
.atelya-community-welcome-note { margin: 24px 0 16px; font-size: 0.875rem; color: #6b7280; font-weight: 300; }
.atelya-community-welcome-skip { font-size: 0.875rem; color: #9ca3af; text-decoration: underline; font-weight: 300; }
.atelya-community-hero { text-align: center; margin-bottom: 56px; }
.atelya-community-hero-title { font-size: 2.5rem; font-weight: 700; margin: 0 0 12px; color: #111827; letter-spacing: -0.02em; }
.atelya-community-hero-sub { font-size: 1.125rem; color: #4b5563; margin: 0 0 32px; line-height: 1.5; }
.atelya-community-search { display: flex; align-items: center; gap: 12px; max-width: 640px; margin: 0 auto; padding: 14px 20px; background: #fff; border: 1px solid var(--atelya-border); border-radius: 9999px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-community-search-input { flex: 1; border: none; font-size: 1rem; font-family: inherit; outline: none; }
.atelya-community-search-hint { margin-top: 12px; font-size: 0.875rem; color: #6b7280; }
.atelya-community-section { margin-bottom: 56px; }
.atelya-community-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.atelya-community-section-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 24px; color: #111827; }
.atelya-community-section-head .atelya-community-section-title { margin: 0; }
.atelya-community-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.atelya-community-filter { padding: 8px 16px; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; color: #6b7280; background: #f9fafb; cursor: default; }
.atelya-community-filter--active { background: rgba(124, 58, 237, 0.12); color: var(--atelya-purple); }
.atelya-community-theme-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .atelya-community-theme-grid { grid-template-columns: 1fr; } }
.atelya-community-theme-card { display: block; padding: 28px 20px; background: #fff; border-radius: 24px; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(0,0,0,0.05); transition: box-shadow 0.2s, border-color 0.2s; border: 1px solid transparent; }
.atelya-community-theme-card:hover { border-color: rgba(124, 58, 237, 0.25); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.atelya-community-theme-icon { display: block; width: 40px; height: 40px; margin-bottom: 16px; font-size: 1.25rem; }
.atelya-community-theme-card-title { font-size: 1.125rem; font-weight: 600; margin: 0 0 8px; color: #111827; }
.atelya-community-theme-card-desc { font-size: 0.9375rem; color: #4b5563; margin: 0; line-height: 1.45; }
.atelya-community-disc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.atelya-community-disc-card { display: block; padding: 24px; background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.atelya-community-disc-card:hover { border-color: rgba(124, 58, 237, 0.3); }
.atelya-community-disc-meta { display: flex; justify-content: space-between; font-size: 0.8125rem; margin-bottom: 8px; }
.atelya-community-disc-cat { color: var(--atelya-purple); font-weight: 500; }
.atelya-community-disc-time { color: #9ca3af; }
.atelya-community-disc-title { font-size: 1.125rem; font-weight: 600; margin: 0 0 8px; color: #111827; }
.atelya-community-disc-excerpt { font-size: 0.9375rem; color: #4b5563; line-height: 1.5; margin: 0 0 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.atelya-community-disc-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: 0.8125rem; color: #6b7280; }
.atelya-community-disc-author { display: flex; align-items: center; gap: 10px; }
.atelya-community-disc-avatar { border-radius: 9999px; object-fit: cover; }
.atelya-community-disc-role { padding: 2px 8px; border-radius: 9999px; background: rgba(124, 58, 237, 0.1); color: var(--atelya-purple); font-size: 0.75rem; font-weight: 500; }
.atelya-community-more-wrap { text-align: center; margin-top: 32px; }
.atelya-community-back { margin: 0 0 24px; }
.atelya-community-back a { color: var(--atelya-purple); font-size: 0.875rem; font-weight: 500; text-decoration: none; }
.atelya-community-back a:hover { text-decoration: underline; }
.atelya-community-cat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.atelya-community-cat-title { font-size: 2rem; font-weight: 700; margin: 0 0 8px; color: #111827; }
.atelya-community-cat-desc { font-size: 1.125rem; color: #4b5563; margin: 0 0 16px; line-height: 1.5; }
.atelya-community-callout { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; background: #faf5ff; border-radius: 12px; font-size: 0.9375rem; color: #4b5563; max-width: 560px; }
.atelya-community-new-disc { white-space: nowrap; padding: 14px 20px; border-radius: 12px; }
.atelya-community-cat-tabs { display: flex; gap: 12px; margin-bottom: 24px; }
.atelya-community-cat-tab { padding: 10px 18px; border-radius: 9999px; border: 1px solid var(--atelya-border); background: #fff; font-size: 0.875rem; font-weight: 500; color: #6b7280; cursor: pointer; }
.atelya-community-cat-tab--active { background: rgba(124, 58, 237, 0.12); border-color: rgba(124, 58, 237, 0.25); color: var(--atelya-purple); }
.atelya-community-cat-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.atelya-community-cat-row { display: flex; gap: 16px; padding: 20px; background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; text-decoration: none; color: inherit; }
.atelya-community-cat-row:hover { border-color: rgba(124, 58, 237, 0.25); }
.atelya-community-cat-avatar { border-radius: 9999px; object-fit: cover; flex-shrink: 0; }
.atelya-community-cat-row-body { flex: 1; min-width: 0; }
.atelya-community-cat-row-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.atelya-community-cat-row-title { font-size: 1.0625rem; font-weight: 600; margin: 0 0 6px; color: #111827; }
.atelya-community-cat-row-meta { font-size: 0.8125rem; color: #6b7280; margin: 0 0 8px; }
.atelya-community-cat-row-excerpt { font-size: 0.9375rem; color: #4b5563; margin: 0 0 12px; line-height: 1.45; }
.atelya-community-cat-row-foot { display: flex; flex-wrap: wrap; gap: 12px; font-size: 0.8125rem; color: #6b7280; }
.atelya-community-badge { font-size: 0.75rem; font-weight: 600; padding: 4px 10px; border-radius: 9999px; flex-shrink: 0; }
.atelya-community-badge--purple { background: #faf5ff; color: #7c3aed; }
.atelya-community-badge--orange { background: #fff7ed; color: #c2410c; }
.atelya-community-tag { padding: 4px 10px; background: #f3f4f6; border-radius: 9999px; font-size: 0.75rem; color: #374151; }
.atelya-community-empty { padding: 24px; text-align: center; color: #6b7280; }
.atelya-community-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }
.atelya-community-page-num { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 0.875rem; font-weight: 500; color: #6b7280; background: #fff; border: 1px solid var(--atelya-border); }
.atelya-community-page-num--active { background: var(--atelya-purple); color: #fff; border-color: var(--atelya-purple); }
.atelya-community-post-card { background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; padding: 24px; margin-bottom: 16px; }
.atelya-community-post-meta { display: flex; justify-content: space-between; margin-bottom: 24px; }
.atelya-community-post-title { font-size: 1.75rem; font-weight: 700; margin: 0 0 20px; line-height: 1.25; color: #111827; }
.atelya-community-post-author { display: flex; gap: 16px; align-items: flex-start; }
.atelya-community-post-avatar { border-radius: 9999px; object-fit: cover; }
.atelya-community-post-author strong { display: block; font-size: 1rem; }
.atelya-community-post-sub { font-size: 0.875rem; color: #6b7280; margin: 4px 0 0; }
.atelya-community-post-body { background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; padding: 24px; margin-bottom: 16px; font-size: 1rem; line-height: 1.65; color: #374151; }
.atelya-community-blockquote { margin: 20px 0; padding: 16px 20px; border-left: 4px solid var(--atelya-purple); background: #faf5ff; border-radius: 0 12px 12px 0; font-style: italic; color: #4b5563; }
.atelya-community-bullets { margin: 16px 0 0; padding-left: 1.25rem; }
.atelya-community-post-actions { display: flex; flex-wrap: wrap; gap: 20px; font-size: 0.875rem; color: #6b7280; margin-bottom: 24px; }
.atelya-community-post-replies-count { margin-left: auto; }
.atelya-community-reply-box { display: flex; gap: 16px; background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; padding: 20px; margin-bottom: 24px; }
.atelya-community-reply-textarea { width: 100%; min-height: 120px; padding: 14px; border: 1px solid var(--atelya-border); border-radius: 12px; font-family: inherit; font-size: 0.9375rem; resize: vertical; }
.atelya-community-reply-note { font-size: 0.8125rem; color: #9ca3af; margin: 8px 0 12px; }
.atelya-community-replies { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
.atelya-community-reply { background: #fff; border: 1px solid var(--atelya-border-card); border-radius: 16px; padding: 20px; }
.atelya-community-reply-head { display: flex; gap: 12px; margin-bottom: 12px; align-items: center; flex-wrap: wrap; }
.atelya-community-reply-head img { border-radius: 9999px; object-fit: cover; }
.atelya-community-reply-body { font-size: 0.9375rem; line-height: 1.6; color: #374151; margin: 0; }
.atelya-community-reply-foot { font-size: 0.8125rem; color: #9ca3af; margin: 12px 0 0; }
.atelya-community-closing { text-align: center; font-size: 0.875rem; color: #6b7280; margin: 0 0 40px; }
.atelya-community-breadcrumb { font-size: 0.875rem; color: #6b7280; margin-bottom: 24px; }
.atelya-community-breadcrumb a { color: var(--atelya-purple); text-decoration: none; }
.atelya-community-create-head { margin-bottom: 32px; }
.atelya-community-create-title { font-size: 1.875rem; font-weight: 700; margin: 0 0 8px; color: #1e293b; }
.atelya-community-create-sub { font-size: 1.125rem; color: #4b5563; margin: 0; }
.atelya-community-create-form { background: #fff; border-radius: 16px; padding: 32px; border: 1px solid var(--atelya-border-card); }
.atelya-community-field { margin-bottom: 28px; }
.atelya-community-field--inline { margin-bottom: 20px; }
.atelya-community-label { display: block; font-size: 0.875rem; font-weight: 600; color: #1e293b; margin-bottom: 8px; }
.atelya-community-req { color: #ef4444; }
.atelya-community-input, .atelya-community-textarea, .atelya-community-select { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid #e5e7eb; border-radius: 8px; font-size: 1rem; font-family: inherit; }
.atelya-community-textarea { min-height: 170px; resize: vertical; }
.atelya-community-select-wrap { position: relative; }
.atelya-community-select { appearance: none; background: #fff; }
.atelya-community-help { font-size: 0.875rem; color: #6b7280; margin: 8px 0 0; }
.atelya-community-tip { font-size: 0.875rem; color: var(--atelya-purple); font-weight: 500; margin: 8px 0 0; }
.atelya-community-check { display: flex; align-items: center; gap: 10px; font-size: 0.9375rem; color: #1e293b; cursor: pointer; }
.atelya-community-tag-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.atelya-community-create-footer { border-top: 1px solid #f3f4f6; padding-top: 24px; margin-top: 8px; }
.atelya-community-submit { width: 100%; min-height: 56px; border-radius: 8px; justify-content: center; }
.atelya-community-disclaimer { text-align: center; font-size: 0.875rem; color: #6b7280; margin: 16px 0 0; }
