Files
clienthub/design-reference/pagina-offerta-singola.html
simone ee47f35e97 docs: allinea CLAUDE.md e i mock design-reference
I mock per pagina erano file HTML senza estensione, mentre CLAUDE.md li
descriveva come cartelle design-reference/pagina-*/ - un path che non
esisteva. Rinominati in pagina-*.html e aggiornati i riferimenti anche in
DESIGN-SYSTEM.md.

CLAUDE.md:
- puntatori corretti dopo il riordino di .planning/ (security/, STATE.md a
  digest, REQUIREMENTS.md come backlog corrente)
- rimosso il paragrafo sui doc superseded: i file non esistono piu
- annotato che i mock sono scritti in slate-* raw perche precedono la
  regola dei token: vanno tradotti, non copiati
- rese esplicite le eccezioni sanzionate alla regola dei token (colori di
  stato di StatusBadge, verde brand della sidebar, HTML delle email)
- vincolo LOCKED #4: annotata l'unica deroga, getClientGate() legge
  getServerSession per l'anteprima admin in sola lettura e solo con
  ?preview=1 (Phase 26). Testo approvato dall'utente

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 22:38:58 +02:00

378 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modifica Offerta — Luxury Admin CRM</title>
<!-- Google Fonts: Plus Jakarta Sans -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<!-- Tailwind CSS CDN -->
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Plus Jakarta Sans', 'sans-serif'],
},
colors: {
brand: {
dark: '#1A463C', /* Verde scuro lusso */
darkHover: '#13342D', /* Variante scura per hover */
active: 'rgba(255, 255, 255, 0.08)',
bg: '#F8F9FA',
}
}
}
}
}
</script>
<style>
.sidebar-transition {
transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
</style>
</head>
<body class="bg-brand-bg font-sans text-slate-800 antialiased min-h-screen flex overflow-x-hidden">
<!-- SIDEBAR -->
<aside id="sidebar" class="w-64 bg-brand-dark text-white flex flex-col justify-between p-6 border-r border-emerald-950/20 shrink-0 sidebar-transition relative z-10">
<div class="overflow-hidden">
<!-- Logo e Intestazione -->
<div class="mb-10 px-2 flex items-center justify-between">
<span id="sidebar-logo-text" class="text-lg font-bold tracking-wider text-emerald-50 whitespace-nowrap transition-opacity duration-300">iamcavalli</span>
</div>
<!-- Navigazione Principale -->
<nav class="space-y-1">
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M4 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2H6a2 2 0 01-2-2v-4zM14 16a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2h-2a2 2 0 01-2-2v-4z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Dashboard</span>
</a>
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 01-2.555-.337A5.972 5.972 0 015.41 20.97a.598.598 0 01-.73-.578 5.672 5.672 0 011.02-3.155A8.72 8.72 0 013 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Conversazioni</span>
</a>
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Lead</span>
</a>
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Clienti</span>
</a>
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Progetti</span>
</a>
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-emerald-200/70 hover:text-white hover:bg-white/5 transition-all duration-200">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Preventivi</span>
</a>
<!-- Stato Attivo su Offerte -->
<a href="#" class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm text-white bg-brand-active font-medium transition-all duration-200 shadow-sm">
<svg class="w-4 h-4 shrink-0 text-emerald-400" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M7 7h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>
<span class="sidebar-text whitespace-nowrap transition-opacity duration-300">Offerte</span>
</a>
</nav>
</div>
<!-- Area Inferiore Sidebar -->
<div class="border-t border-white/10 pt-4 space-y-3 overflow-hidden">
<div class="flex items-center justify-between px-3 py-1 text-xs text-emerald-200/50 whitespace-nowrap">
<span class="sidebar-text transition-opacity duration-300">Tema</span>
<button class="p-1 rounded-full bg-white/5 hover:bg-white/10 text-emerald-200 hover:text-white transition-all duration-200">
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m12.728 0l-.707-.707M6.343 6.343l-.707-.707M14 12a2 2 0 11-4 0 2 2 0 014 0z"/></svg>
</button>
</div>
<a href="#" class="flex items-center gap-3 px-3 py-2 rounded-lg text-sm text-red-300/80 hover:text-red-200 hover:bg-red-950/20 transition-all duration-200 whitespace-nowrap">
<svg class="w-4 h-4 shrink-0" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"/></svg>
<span class="sidebar-text transition-opacity duration-300">Esci</span>
</a>
</div>
</aside>
<!-- SEZIONE PRINCIPALE -->
<div class="flex-1 flex flex-col min-w-0">
<!-- BARRA DI INTESTAZIONE SUPERIORE -->
<header class="h-16 border-b border-slate-100 bg-white px-8 flex items-center justify-between shrink-0">
<div class="flex items-center gap-4">
<!-- Pulsante Apri/Chiudi Sidebar -->
<button id="sidebar-toggle" class="p-2 -ml-2 rounded-lg text-slate-500 hover:bg-slate-50 hover:text-slate-800 transition-colors focus:outline-none" title="Espandi/Comprimi Sidebar">
<svg class="w-5 h-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M4 6h16M4 12h12M4 18h16"/></svg>
</button>
<span class="text-xs text-slate-400 font-medium">Gestione Offerte</span>
</div>
<div class="flex items-center gap-4">
<span class="text-xs font-semibold text-slate-700 bg-slate-100 px-2.5 py-1 rounded-full">Admin Panel</span>
</div>
</header>
<!-- AREA DEL CONTENUTO -->
<main class="flex-1 p-8 lg:p-10 max-w-[1400px] w-full mx-auto flex flex-col gap-8 overflow-y-auto">
<!-- INTESTAZIONE SEZIONE -->
<div class="border-b border-slate-100 pb-6">
<a href="#" class="text-xs font-bold text-slate-400 hover:text-slate-800 flex items-center gap-1.5 mb-2">
← Indietro
</a>
<h1 class="text-2xl font-semibold text-slate-900 tracking-tight">Modifica Offerta</h1>
<p class="text-xs text-slate-500 mt-1">Stai modificando il pacchetto: <span class="font-bold text-brand-dark">Sblocca Business</span></p>
</div>
<!-- MODULO 1: PARAMETRI DI BASE -->
<section class="bg-white rounded-xl border border-slate-100 shadow-[0_4px_20px_rgba(0,0,0,0.01)] p-6 space-y-6">
<!-- Modalità / Frequenza di pagamento -->
<div class="flex flex-col sm:flex-row sm:items-center justify-between gap-4">
<div>
<h3 class="text-xs font-bold uppercase tracking-wider text-slate-400">Modalità Offerta</h3>
<p class="text-[11px] text-slate-400 mt-0.5">Definisci la ricorrenza del pagamento</p>
</div>
<!-- Sliding Toggle Capsule -->
<div class="bg-slate-100 p-1 rounded-lg flex gap-1 self-start sm:self-auto">
<button class="px-5 py-1.5 rounded-md text-xs font-bold bg-brand-dark text-white shadow-sm transition-all duration-200">
Una tantum
</button>
<button class="px-5 py-1.5 rounded-md text-xs font-semibold text-slate-400 hover:text-slate-800 transition-all duration-200">
Retainer
</button>
</div>
</div>
<!-- Descrizione Interna -->
<div class="pt-4 border-t border-slate-50">
<label class="block text-xs font-bold uppercase tracking-wider text-slate-400 mb-2">Descrizione Interna</label>
<textarea
rows="3"
placeholder="Scrivi qui una descrizione dell'offerta ad uso interno (non visibile al cliente)..."
class="w-full bg-slate-50/50 border border-slate-200/80 rounded-lg p-3 text-xs text-slate-800 placeholder-slate-400 focus:outline-none focus:border-brand-dark focus:bg-white transition-all resize-none"
></textarea>
</div>
</section>
<!-- MODULO 2: TASSONOMIE / TAG -->
<section class="bg-white rounded-xl border border-slate-100 shadow-[0_4px_20px_rgba(0,0,0,0.01)] p-6 space-y-4">
<h3 class="text-xs font-bold uppercase tracking-wider text-slate-400 mb-4">Tagging e Tassonomia</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- Categoria & Ticket -->
<div class="space-y-4">
<div>
<span class="block text-[10px] font-bold text-slate-400 uppercase tracking-wider mb-2">Categoria</span>
<span class="inline-flex items-center px-2.5 py-1 rounded text-xs font-semibold bg-purple-50 text-purple-700 border border-purple-100 uppercase tracking-wide">Entry Offer</span>
</div>
<div>
<span class="block text-[10px] font-bold text-slate-400 uppercase tracking-wider mb-2">Ticket</span>
<span class="inline-flex items-center px-2.5 py-1 rounded text-xs font-semibold bg-purple-50 text-purple-700 border border-purple-100 uppercase tracking-wide">Low Ticket</span>
</div>
</div>
<!-- Tipo & Obiettivo con aggiunta interattiva -->
<div class="space-y-4">
<div>
<span class="block text-[10px] font-bold text-slate-400 uppercase tracking-wider mb-2">Tipo</span>
<div class="flex flex-wrap gap-1.5">
<span class="inline-flex items-center gap-1 pl-2.5 pr-1.5 py-1 rounded-md text-[11px] font-semibold bg-amber-50 text-amber-700 border border-amber-100 uppercase">Audit <button class="text-amber-400 hover:text-amber-800">×</button></span>
<span class="inline-flex items-center gap-1 pl-2.5 pr-1.5 py-1 rounded-md text-[11px] font-semibold bg-emerald-50 text-emerald-700 border border-emerald-100 uppercase">Done For You <button class="text-emerald-400 hover:text-emerald-800">×</button></span>
<button class="inline-flex items-center justify-center w-6 h-6 rounded-full border border-dashed border-slate-200 text-slate-400 hover:text-slate-600 hover:border-slate-400 transition-colors">+</button>
</div>
</div>
<div>
<span class="block text-[10px] font-bold text-slate-400 uppercase tracking-wider mb-2">Obiettivo</span>
<div class="flex flex-wrap gap-1.5">
<span class="inline-flex items-center gap-1 pl-2.5 pr-1.5 py-1 rounded-md text-[11px] font-semibold bg-purple-50 text-purple-700 border border-purple-100 uppercase">Primo Acquisto <button class="text-purple-400 hover:text-purple-800">×</button></span>
<span class="inline-flex items-center gap-1 pl-2.5 pr-1.5 py-1 rounded-md text-[11px] font-semibold bg-emerald-50 text-emerald-700 border border-emerald-100 uppercase">Up Scala Valore <button class="text-emerald-400 hover:text-emerald-800">×</button></span>
<span class="inline-flex items-center gap-1 pl-2.5 pr-1.5 py-1 rounded-md text-[11px] font-semibold bg-rose-50 text-rose-700 border border-rose-100 uppercase">Lead Gen <button class="text-rose-400 hover:text-rose-800">×</button></span>
<button class="inline-flex items-center justify-center w-6 h-6 rounded-full border border-dashed border-slate-200 text-slate-400 hover:text-slate-600 hover:border-slate-400 transition-colors">+</button>
</div>
</div>
</div>
</div>
</section>
<!-- MODULO 3: MATRICE SERVIZI INCLUSI -->
<section class="bg-white rounded-xl border border-slate-100 shadow-[0_4px_20px_rgba(0,0,0,0.01)] p-6 space-y-6">
<div class="flex flex-col sm:flex-row justify-between sm:items-center gap-4">
<div>
<h3 class="text-xs font-bold uppercase tracking-wider text-slate-400">Servizi Inclusi & Matrice Tier</h3>
<p class="text-[11px] text-slate-400 mt-0.5">Associa i singoli servizi del catalogo ai Tier A, B e C</p>
</div>
<!-- Filtro Tabella -->
<div class="flex gap-1.5 flex-wrap">
<button class="px-3.5 py-1.5 text-[11px] font-bold bg-brand-dark text-white rounded-lg transition-colors">Tutti</button>
<button class="px-3.5 py-1.5 text-[11px] font-semibold bg-slate-50 text-slate-500 hover:bg-slate-100 rounded-lg transition-all">Entry Offer</button>
<button class="px-3.5 py-1.5 text-[11px] font-semibold bg-slate-50 text-slate-500 hover:bg-slate-100 rounded-lg transition-all">Retainer Offer</button>
</div>
</div>
<!-- Matrice Tabellare dei Servizi -->
<div class="border border-slate-100 rounded-xl overflow-hidden">
<div class="overflow-x-auto">
<table class="w-full text-left border-collapse min-w-[700px]">
<thead>
<tr class="border-b border-slate-100 bg-slate-50/50 text-[11px] font-bold uppercase tracking-wider text-slate-400">
<th class="py-3 px-5 w-1/2">Servizio</th>
<th class="py-3 px-4 w-[120px] text-right">Prezzo Unitario</th>
<th class="py-3 px-4 text-center w-[80px]">A</th>
<th class="py-3 px-4 text-center w-[80px]">B</th>
<th class="py-3 px-4 text-center w-[80px]">C</th>
</tr>
</thead>
<tbody class="divide-y divide-slate-100 text-xs">
<!-- Riga 1 (Non selezionata) -->
<tr class="hover:bg-slate-50/30 transition-colors">
<td class="py-3 px-5 text-slate-700 font-medium truncate">QA - Test Cross Browser e responsive</td>
<td class="py-3 px-4 text-right font-mono text-slate-500">€400,00</td>
<td class="py-3 px-4 text-center"><input type="checkbox" class="w-4 h-4 text-brand-dark rounded border-slate-300 focus:ring-brand-dark focus:ring-opacity-25" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" class="w-4 h-4 text-brand-dark rounded border-slate-300 focus:ring-brand-dark focus:ring-opacity-25" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" class="w-4 h-4 text-brand-dark rounded border-slate-300 focus:ring-brand-dark focus:ring-opacity-25" /></td>
</tr>
<!-- Riga 2 (Selezionata in A, B, C - Evidenziata con sfondo leggero) -->
<tr class="bg-emerald-50/10 hover:bg-emerald-50/20 transition-colors">
<td class="py-3 px-5 text-slate-900 font-medium truncate">Raccolta e Mappatura Materiali</td>
<td class="py-3 px-4 text-right font-mono text-slate-700">€100,00</td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
</tr>
<!-- Riga 3 -->
<tr class="bg-emerald-50/10 hover:bg-emerald-50/20 transition-colors">
<td class="py-3 px-5 text-slate-900 font-medium truncate">Audit iniziale (UX/UI, struttura, conversione)</td>
<td class="py-3 px-4 text-right font-mono text-slate-700">€500,00</td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
</tr>
<!-- Riga 4 -->
<tr class="bg-emerald-50/10 hover:bg-emerald-50/20 transition-colors">
<td class="py-3 px-5 text-slate-900 font-medium truncate">Workshop (1° fase)</td>
<td class="py-3 px-4 text-right font-mono text-slate-700">€900,00</td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
<td class="py-3 px-4 text-center"><input type="checkbox" checked class="w-4 h-4 text-brand-dark rounded border-brand-dark bg-brand-dark focus:ring-brand-dark" /></td>
</tr>
<!-- Riga Totale Servizi Calcolati (Stile Finanziario) -->
<tr class="bg-slate-50 font-semibold border-t-2 border-slate-100">
<td class="py-3.5 px-5 text-slate-500 uppercase tracking-wider text-[11px]">Totale Servizi Calcolati</td>
<td class="py-3.5 px-4"></td>
<td class="py-3.5 px-4 text-center font-mono text-slate-900">€2.600,00</td>
<td class="py-3.5 px-4 text-center font-mono text-slate-900">€3.300,00</td>
<td class="py-3.5 px-4 text-center font-mono text-slate-900">€3.900,00</td>
</tr>
<!-- Riga Input Prezzo Pubblico Scontato (Per vendita ad alto biglietto) -->
<tr class="bg-slate-50/40">
<td class="py-3 px-5 text-brand-dark font-bold uppercase tracking-wider text-[11px]">Prezzo Pubblico Scontato</td>
<td class="py-3 px-4"></td>
<td class="py-3 px-4 text-center">
<input type="text" value="400,00" class="w-full text-center bg-white border border-slate-200 rounded px-2 py-1 text-xs font-mono font-bold text-brand-dark focus:outline-none focus:border-brand-dark" />
</td>
<td class="py-3 px-4 text-center">
<input type="text" value="600,00" class="w-full text-center bg-white border border-slate-200 rounded px-2 py-1 text-xs font-mono font-bold text-brand-dark focus:outline-none focus:border-brand-dark" />
</td>
<td class="py-3 px-4 text-center">
<input type="text" value="1.200,00" class="w-full text-center bg-white border border-slate-200 rounded px-2 py-1 text-xs font-mono font-bold text-brand-dark focus:outline-none focus:border-brand-dark" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<!-- MODULO 4: PROMESSA DI TRASFORMAZIONE (High-ticket Sales Framework) -->
<section class="bg-white rounded-xl border border-slate-100 shadow-[0_4px_20px_rgba(0,0,0,0.01)] p-6 space-y-6">
<div>
<h3 class="text-xs font-bold uppercase tracking-wider text-slate-400">Promessa di Trasformazione</h3>
<p class="text-[11px] text-slate-400 mt-0.5">Struttura la proposta commerciale secondo un modello di copywriting orientato al risultato</p>
</div>
<div class="space-y-4 pt-4 border-t border-slate-50">
<!-- Aiuto -->
<div class="grid grid-cols-1 md:grid-cols-4 items-center gap-2">
<span class="text-xs font-bold text-slate-500 uppercase tracking-wider">Aiuto</span>
<input type="text" value="Non altezza sogni FOMO" class="md:col-span-3 bg-slate-50 border border-slate-200 rounded-lg px-3 py-2 text-xs text-slate-800 placeholder-slate-400 focus:outline-none focus:border-brand-dark focus:bg-white transition-all" />
</div>
<!-- A Ottenere -->
<div class="grid grid-cols-1 md:grid-cols-4 items-center gap-2">
<span class="text-xs font-bold text-slate-500 uppercase tracking-wider">A ottenere</span>
<input type="text" value="Chiarezza e direzione sul proprio business per non sbagliare da oggi in avanti" class="md:col-span-3 bg-slate-50 border border-slate-200 rounded-lg px-3 py-2 text-xs text-slate-800 placeholder-slate-400 focus:outline-none focus:border-brand-dark focus:bg-white transition-all" />
</div>
<!-- In -->
<div class="grid grid-cols-1 md:grid-cols-4 items-center gap-2">
<span class="text-xs font-bold text-slate-500 uppercase tracking-wider">In</span>
<input type="text" value="2 settimane" class="md:col-span-3 bg-slate-50 border border-slate-200 rounded-lg px-3 py-2 text-xs text-slate-800 placeholder-slate-400 focus:outline-none focus:border-brand-dark focus:bg-white transition-all" />
</div>
<!-- Senza -->
<div class="grid grid-cols-1 md:grid-cols-4 items-center gap-2">
<span class="text-xs font-bold text-slate-500 uppercase tracking-wider">Senza</span>
<input type="text" value="sentirsi perso e sentire di non sapere che pesci prendere" class="md:col-span-3 bg-slate-50 border border-slate-200 rounded-lg px-3 py-2 text-xs text-slate-800 placeholder-slate-400 focus:outline-none focus:border-brand-dark focus:bg-white transition-all" />
</div>
</div>
</section>
<!-- BARRA DELLE AZIONI SALVATAGGIO / AZIONI GENERALI -->
<footer class="flex flex-col sm:flex-row justify-between sm:items-center gap-4 pt-4">
<div class="flex items-center gap-2.5">
<button class="bg-brand-dark hover:bg-brand-darkHover text-white text-xs font-medium tracking-wide px-5 py-3 rounded-lg transition-all duration-200 shadow-sm">
Salva Offerta
</button>
<button class="px-5 py-3 border border-slate-200 hover:bg-slate-50 text-slate-600 hover:text-slate-900 text-xs font-semibold rounded-lg transition-colors">
Annulla
</button>
</div>
<!-- Azione distruttiva discreta -->
<button class="text-xs font-bold text-red-500 hover:text-red-700 transition-colors self-start sm:self-auto">
Archivia Offerta
</button>
</footer>
</main>
</div>
<!-- SCRIPT DI LOGICA (Gestione Sidebar) -->
<script>
const sidebar = document.getElementById('sidebar');
const toggleButton = document.getElementById('sidebar-toggle');
const logoText = document.getElementById('sidebar-logo-text');
const sidebarTexts = document.querySelectorAll('.sidebar-text');
toggleButton.addEventListener('click', () => {
const isCollapsed = sidebar.classList.contains('w-20');
if (isCollapsed) {
sidebar.classList.remove('w-20');
sidebar.classList.add('w-64');
setTimeout(() => {
logoText.classList.remove('opacity-0');
sidebarTexts.forEach(text => text.classList.remove('opacity-0'));
}, 150);
} else {
logoText.classList.add('opacity-0');
sidebarTexts.forEach(text => text.classList.add('opacity-0'));
sidebar.classList.remove('w-64');
sidebar.classList.add('w-20');
}
});
</script>
</body>
</html>