/* ──────────────────────────────────────────────────────────────────────────
   Tema Lenzuoli — foglio condiviso, iniettato nelle sezioni caricate in iframe
   (Preventivi, Ristorazione, Studio Grafico, Instagram, Planner) da dashboard.html.
   1) Override dei token --bbr-* → palette avorio/arancio + Space Grotesk/Inter
      (tinge le pagine che usano il design system, es. dashboard-quotes.html).
   2) Blu "legacy" (#0071e3 e simili) → arancio del brand, anche per i colori fissi.
   ────────────────────────────────────────────────────────────────────────── */
@import url('bbr-tokens.css?v=h-4e020ec15461');
@import url('css/bbr-fonts.css?v=h-a918877b5047');

/* Static text stays readable/selectable without an editing caret. */
:root { caret-color:transparent; }
:is(input, textarea, [contenteditable]:not([contenteditable="false"])) { caret-color:auto; }

:root{
  --bbr-ink-0:#1a0f07; --bbr-ink-1:#21130a; --bbr-ink-2:#4a423a; --bbr-ink-3:#5f574d;
  --bbr-ink-4:#938a7d; --bbr-ink-5:#d2c7b2; --bbr-ink-6:#e0d7c6; --bbr-ink-7:#f1ead9;
  --bbr-ink-8:#f4efe6; --bbr-ink-9:#fbf8f1;
  --bbr-accent:#bb440e; --bbr-accent-hover:#7a2e0e; --bbr-accent-active:#6a280c;
  --bbr-accent-soft:color-mix(in srgb,#bb440e 14%,transparent); --bbr-accent-soft-fg:#7a2e0e;
  --bbr-bd-focus:#bb440e; --bbr-ring:color-mix(in srgb,#bb440e 30%,transparent);
  --bbr-blue:#1a5ab8; --bbr-blue-fg:#123f82; --bbr-blue-soft:#e8f0fe;
  --bbr-font-display:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --bbr-font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --bbr-font-mono:'Space Grotesk','SFMono-Regular',ui-monospace,Menlo,Consolas,monospace;
  /* Studio Grafico's chrome follows the same theme; artwork colours remain data. */
  --tg-accent:var(--bbr-accent); --tg-accent-light:var(--bbr-accent-soft);
  --tg-purple:var(--bbr-accent); --tg-workspace:var(--bbr-bg-sunken);
  --tg-sidebar:var(--bbr-ink-0); --tg-sidebar-text:var(--bbr-ink-9);
  --tg-text:var(--bbr-fg-primary); --tg-text-dim:var(--bbr-fg-muted);
  --tg-border:var(--bbr-bd-default);

  /* Token namespace dei moduli "frame" (planner, ristorazione, studio grafico, ...):
     usano --accent/--ink/--bg ecc. (es. dashboard-fb.html: --accent:#0071e3 sui bottoni).
     Sovrascriviamo qui → bottoni e accenti diventano arancio, superfici avorio. */
  --bg:#f4efe6; --bg2:#f7f2e8; --canvas:#f4efe6;
  --surface:#fbf8f1; --surface-2:#f7f2e8;
  --ink:#21130a; --ink-2:#5f574d; --ink-3:#938a7d; --muted:#5f574d;
  --line:#e0d7c6; --line-2:#d2c7b2; --border:#e0d7c6;
  --accent:#bb440e; --accent-2:#7a2e0e; --accent-hover:#7a2e0e; --primary:#bb440e;
}

/* Font di brand anche negli embed legacy: i loro <style> inline dichiarano
   -apple-system/Inter sul body, ma questo foglio è linkato/iniettato DOPO quegli
   style, quindi a parità di specificità vince la regola qui sotto (niente font
   di sistema dentro gli iframe del cruscotto). */
body{ font-family:var(--bbr-font-sans); }
.bbr-table-scroll{ min-width:0; max-width:100%; overflow-x:auto; }

/* Focus ring coerente col cruscotto: gli embed lasciavano l'outline di default
   del browser (nero/blu). Il ring vale per tastiera e per i campi di testo. */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible{
  outline:none;
  border-color:var(--bbr-bd-focus);
  box-shadow:0 0 0 3px var(--bbr-ring);
}

/* Titolo di pagina nel nero della barra (--bbr-fg-heading, passato dalla skin embed;
   ink-0 se la pagina e' aperta da sola), non piu' arancio: il marchio lo dice la barra.
   Il selettore per tag basta: ogni strumento embeddato ha ESATTAMENTE un <h1>,
   il proprio titolo, e nessuno di quegli <h1> ha una classe da agganciare. */
h1{ color:var(--bbr-fg-heading, var(--bbr-ink-0)); }
@media print{ h1{ color:#000; } }

/* Shared base: even an embed that previously styled bare button tags uses the
   same control. Layout-specific classes (toolbars, calendar cells) stay local. */
.btn {
  appearance:none; display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box; gap:var(--space-200); min-height:36px;
  padding:0 var(--space-300); border:1px solid var(--bbr-bd-default);
  border-radius:var(--radius-md); cursor:pointer;
  font:500 var(--text-sm)/1.3 var(--bbr-font-sans);
  color:var(--bbr-fg-secondary); background:var(--bbr-btn-bg, var(--bbr-bg-surface));
  box-shadow:var(--bbr-shadow-btn, var(--shadow-sm));
}
.btn:hover { background:var(--bbr-btn-bg-hover, var(--bbr-bg-sunken)); }
.btn.sec { color:var(--bbr-fg-secondary); background:var(--bbr-btn-bg, var(--bbr-bg-surface)); }
.btn.btn-primary,.btn.primary { color:var(--bbr-fg-on-accent); border-color:var(--bbr-accent); }
/* Keep the complete primary state stronger than legacy .btn:hover:not(:disabled). */
.btn.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled) {
  background:var(--bbr-btn-primary-bg-hover, var(--bbr-accent-hover));
  color:var(--bbr-fg-on-accent);
  border-color:var(--bbr-accent-hover);
}
.btn.btn-danger,.btn.del,.btn.danger { background:var(--bbr-bg-surface); color:var(--bbr-red-fg); border-color:var(--bbr-red-fg); }
.btn.btn-danger:hover,.btn.del:hover,.btn.danger:hover { background:var(--bbr-red-soft); }
.btn:disabled { cursor:not-allowed; opacity:.5; }

/* Rilievo dei bottoni come nello shell (token --bbr-shadow-btn* passati dalla skin embed;
   fuori dal cruscotto restano piatti): pieni = primary, chiari = secondari. */
.btn.primary, .btn-primary, button.primary{ background:var(--bbr-btn-primary-bg, var(--accent)); box-shadow:var(--bbr-shadow-btn-primary); }
.btn:not(.primary):not(.btn-primary), button.sec{ box-shadow:var(--bbr-shadow-btn); }

/* Le stesse sei categorie dello shell, per gli strumenti in iframe (audit del 4/9,
   docs/audit-bottoni-2026-09-04.md). Qui senza !important: dentro l'iframe non c'e'
   la guerra di cascata di patch.css. Ruolo = classe, mai stile inline. */
.btn.btn-plain{ background:none; border-color:transparent; box-shadow:none; color:var(--bbr-accent);
                white-space:nowrap; padding-left:var(--space-200); padding-right:var(--space-200); }
.btn.btn-plain:hover{ background:var(--bbr-accent-soft); color:var(--bbr-accent-hover); }
.btn.btn-icon{ display:inline-flex; align-items:center; justify-content:center; width:36px; min-width:36px; padding:0; line-height:1; }
.btn.btn-icon svg{ width:18px; height:18px; }
.btn.btn-icon{ font-size:18px; }
.btn.btn-icon.btn-plain{ color:var(--bbr-fg-muted); }
.btn.btn-icon.btn-plain:hover{ background:var(--bbr-bg-sunken); color:var(--bbr-fg-primary); }
.btn.btn-plain.btn-danger { background:none; border-color:transparent; color:var(--bbr-red-fg); }
.btn.btn-plain.btn-danger:hover { background:var(--bbr-red-soft); color:var(--bbr-red-fg); }

.btn.btn-chip{ white-space:nowrap; min-height:28px; border-radius:var(--radius-full,999px); padding:0 var(--space-300);
               font-size:var(--text-sm,13px); box-shadow:none; }
.btn.btn-chip.is-on,.btn.btn-chip.on,.btn.btn-chip.active{ background:var(--bbr-accent-soft); border-color:var(--bbr-accent); color:var(--bbr-accent-soft-fg); }
.btn.btn-sm{ min-height:28px; padding:0 var(--space-300); font-size:var(--text-sm,13px); }
.btn.btn-sm.btn-icon{ width:28px; min-width:28px; padding:0; }
.btn.btn-lg{ min-height:44px; padding:0 var(--space-500); font-size:var(--text-md,15px); }
.btn.btn-lg.btn-icon{ width:44px; min-width:44px; padding:0; }

/* Scheletro di caricamento condiviso. La definizione originale sta in
   bbr-components.css, che pero' e' linkato da 3 file soli: qui usa la scala
   avorio gia' definita sopra e arriva a tutte le pagine che caricano il tema. */
.bbr-skel{
  display:block; height:12px; border-radius:6px;
  background:linear-gradient(90deg,var(--bbr-ink-7) 0%,var(--bbr-ink-6) 50%,var(--bbr-ink-7) 100%);
  background-size:200% 100%;
  animation:bbr-shimmer 1.4s ease-in-out infinite;
}
@keyframes bbr-shimmer{ from{background-position:200% 0} to{background-position:-200% 0} }
@media (prefers-reduced-motion: reduce){ .bbr-skel{ animation:none } }

/* Il blu "legacy" (#0071e3 e simili) e' sostituito alla fonte nei file (accent o --bbr-blue):
   niente piu' cerotti [style*="..."] qui. */

/* Override mirati per accenti non-token specifici di alcune sezioni */
.sidebar-new-btn{ background:#bb440e !important; }   /* Studio Grafico: bottone "+ Nuovo documento" (era viola #5b5bd6) */
[style*="background:#5b5bd6"],[style*="background: #5b5bd6"],
[style*="background:#7b5cff"],[style*="background: #7b5cff"],
[style*="background: rgb(91, 91, 214)"]{ background:#bb440e !important; }
