.header { position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 16px 24px; background: var(--color-header); border-bottom: 1px solid var(--color-border); } .back-link { cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--color-text); } .back-arrow { font-size: 20px; } .brand { display: flex; align-items: center; gap: 10px; color: var(--color-text); } .brand--right { margin-left: auto; } .logo { width: 34px; height: 34px; border-radius: 8px; background: var(--color-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; } .header--back .logo { width: 32px; height: 32px; } .brand-name { font-weight: 700; font-size: 19px; letter-spacing: 0.2px; } .nav-items { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; } .nav-item { cursor: pointer; padding: 8px 14px; border-radius: 8px; font-weight: 600; font-size: 15px; color: var(--color-text); background: transparent; } .nav-item--active { color: var(--color-primary-text-strong); background: var(--color-primary-soft); } .auth-section { display: flex; align-items: center; gap: 10px; } .auth-name { font-weight: 600; font-size: 14px; color: var(--color-text); } .btn-secondary--sm { padding: 6px 12px; font-size: 13px; } .notifiche { position: relative; } .campanellina { position: relative; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: none; border-radius: 8px; background: transparent; font-size: 18px; cursor: pointer; } .campanellina:hover { background: var(--color-primary-soft); } .campanellina-badge { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--color-error, #d64545); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; } .notifiche-overlay { position: fixed; inset: 0; z-index: 19; } .notifiche-dropdown { position: absolute; top: calc(100% + 8px); right: 0; z-index: 20; width: 320px; max-height: 420px; overflow-y: auto; background: var(--color-header); border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); } .notifiche-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; font-weight: 700; font-size: 14px; color: var(--color-text); border-bottom: 1px solid var(--color-border); } .notifiche-segna-tutte { cursor: pointer; font-weight: 600; font-size: 12px; color: var(--color-primary-text-strong); } .notifiche-vuoto { padding: 20px 14px; text-align: center; font-size: 13px; color: var(--color-text); opacity: 0.7; } .notifica-item { cursor: pointer; padding: 12px 14px; border-bottom: 1px solid var(--color-border); font-size: 13px; color: var(--color-text); } .notifica-item:last-child { border-bottom: none; } .notifica-item:hover { background: var(--color-primary-soft); } .notifica-item--non-letta { font-weight: 600; background: var(--color-primary-soft); } .notifica-item--non-letta::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 999px; background: var(--color-primary); }