.page { padding: 2rem 3rem; max-width: 860px; } .page-header { margin-bottom: 2rem; h1 { font-size: 1.6rem; font-weight: 700; color: white; margin: 0 0 0.25rem; } .subtitle { color: #9ca3af; font-size: 0.9rem; margin: 0; } } .page-form { display: flex; flex-direction: column; gap: 1.5rem; } .field { display: flex; flex-direction: column; gap: 0.5rem; label { font-size: 0.85rem; font-weight: 500; color: #d1d5db; } input, select { background: #1a1a2e; border: 1px solid #2a2a3d; color: white; padding: 0.75rem 0.9rem; border-radius: 6px; font-size: 0.9rem; &:focus { outline: none; border-color: #6c63ff; } } } .hint { font-size: 0.76rem; color: #6b7280; margin: 0; } .empty-hint { color: #9ca3af; font-size: 0.88rem; a { color: #a5b4fc; text-decoration: underline; } } .templates-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; } .template-card { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.9rem 1rem; background: #1a1a2e; border: 1px solid #2a2a3d; color: #d1d5db; border-radius: 8px; cursor: pointer; text-align: left; transition: border-color 0.15s, background 0.15s; &:hover { border-color: #3a3a55; background: #20203a; } &.selected { border-color: #6c63ff; background: #2a2558; box-shadow: 0 0 0 1px #6c63ff, 0 0 12px rgba(108, 99, 255, 0.35); } .template-card-head { display: flex; align-items: center; gap: 0.5rem; .template-name { font-weight: 600; color: white; font-size: 0.95rem; } } .template-description { margin: 0; font-size: 0.78rem; color: #9ca3af; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } } // Carte "+" pour creer un nouveau template depuis l'ecran de creation de page. // Bordure pointillee + couleurs attenuees pour la distinguer visuellement des // vraies cartes selectionnables (et indiquer que c'est une action, pas un // element de donnees). .template-card-create { border-style: dashed !important; border-color: #3a3a55 !important; background: transparent !important; text-decoration: none; .template-card-head { color: #d1a878; .template-name { color: #d1a878; } } &:hover { border-color: #d1a878 !important; background: rgba(209, 168, 120, 0.05) !important; } } .info-box { background: #1a1a2e; border: 1px solid #2a2a3d; border-left: 3px solid #6c63ff; padding: 0.75rem 1rem; border-radius: 6px; color: #d1d5db; font-size: 0.85rem; line-height: 1.5; } .actions-row { display: flex; justify-content: flex-start; gap: 0.75rem; margin-top: 0.5rem; } .btn-primary, .btn-secondary { padding: 0.65rem 1.2rem; border: none; border-radius: 6px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 0.15s, opacity 0.15s; } .btn-primary { background: #6c63ff; color: white; &:hover:not(:disabled) { background: #5a52e0; } &:disabled { opacity: 0.5; cursor: not-allowed; } } .btn-secondary { background: #2a2a3d; color: #d1d5db; &:hover { background: #363650; } } .btn-ai { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.65rem 1.1rem; background: transparent; color: #a5b4fc; border: 1px solid #6c63ff; border-radius: 6px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 0.15s, opacity 0.15s; &:hover:not(:disabled) { background: #1f1d3a; } &:disabled { opacity: 0.4; cursor: not-allowed; border-color: #2a2a3d; color: #6b7280; } } .wizard-error { background: #3f1f1f; color: #fca5a5; border: 1px solid #7f1d1d; padding: 0.65rem 0.9rem; border-radius: 6px; font-size: 0.85rem; }