/* ==========================================================================
   GESTIONALE FINANZE v1.5.0 — tema "Registro"
   Concept: un libro mastro/ledger da studio — pagine scure color inchiostro,
   cifre allineate come colonne di conto, timbri di conferma reali per gli
   stati PROVVISORIO/CONFERMATO/ESIGIBILE OGGI. Nessuna dipendenza esterna
   (niente font da CDN): l'app resta 100% offline.
   ========================================================================== */

:root{
  /* Colore — carta d'inchiostro */
  --bg:#0B1220;
  --card:#121B2E;
  --card-2:#17223C;
  --card-3:#1C2A47;
  --ink:#EAEFF7;
  --muted:#8996B3;
  --line:#223154;
  --line-soft:#1A2540;

  /* Accento — ottone del timbro */
  --accent:#C9A227;
  --accent-ink:#241C05;
  --accent-soft:rgba(201,162,39,.14);

  /* Semantica del denaro */
  --green:#3FB88C;
  --red:#E2574C;
  --amber:#E3A73A;
  --dark:var(--accent);

  --radius:16px;
  --radius-sm:11px;

  --font-display:ui-serif,Georgia,"Iowan Old Style","Palatino Linotype","Times New Roman",serif;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);
  background-image:radial-gradient(1200px 500px at 50% -120px,#1A2744 0%,var(--bg) 60%);
  background-attachment:fixed;
}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
.hidden{display:none!important}
body.modal-open{overflow:hidden}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Tipografia numerica — ogni importo allineato come su un registro contabile */
.balance,.amount,.metric strong,.proj strong,.bigmoney,.commitments-total,
.day-balance,.account strong,.cc-summary-grid strong,.cc-summary-grid .amount,
.daily-average-card strong{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

header{position:sticky;top:0;z-index:10;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;
  background:rgba(11,18,32,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
header small{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--accent)}
h1{font-size:23px;margin:3px 0;font-family:var(--font-display);font-weight:600;letter-spacing:.01em}
#homeGear{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:36px;height:36px;
  border:1px solid var(--line);background:var(--card-3);color:var(--muted);border-radius:50%;
  display:flex;align-items:center;justify-content:center}
#homeGear svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
#homeGear:active{color:var(--accent);border-color:var(--accent)}

main{max-width:720px;margin:auto;padding:16px 14px calc(112px + env(safe-area-inset-bottom))}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;margin-bottom:11px;box-shadow:0 1px 0 rgba(255,255,255,.02) inset}

/* Hero — pagina di apertura del registro, con bordo perforato in basso */
.hero{position:relative;background:linear-gradient(160deg,var(--card-2),var(--card));color:var(--ink);
  border:1px solid var(--line);overflow:hidden}
.hero::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:1px;
  background-image:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.hero::before{content:"REGISTRO";position:absolute;right:-10px;top:10px;font-family:var(--font-display);
  font-size:38px;font-weight:600;color:var(--accent);opacity:.06;letter-spacing:.06em;
  transform:rotate(-8deg);pointer-events:none;white-space:nowrap}
.hero .muted{color:#A7B2CC}

.balance{font-size:33px;font-weight:600;margin:6px 0 13px}
.muted,.sub{font-size:12px;color:var(--muted)}

.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.metric{padding:11px;border-radius:var(--radius-sm);background:var(--card-3);border:1px solid var(--line-soft)}
.hero .metric{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.metric strong{display:block;font-size:17px;margin-top:3px;font-weight:700}

.proj strong{display:block;font-size:23px;margin:4px 0;font-weight:700}
.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--muted)}
.hero .positive{color:#7BE0BC}.hero .negative{color:#F3948C}.hero .neutral{color:#C4CDE2}

.head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 2px 9px}
.head h2{font-size:16px;margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:.01em;color:var(--ink)}

.btn{border:1px solid var(--line);background:var(--card-3);color:var(--ink);border-radius:999px;
  padding:9px 13px;font-weight:700;font-size:13px;transition:transform .1s ease}
.btn:active{transform:scale(.97)}
.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.actions .primary{font-weight:800}
.danger{color:#FCA9A2;border-color:rgba(226,87,76,.4);background:rgba(226,87,76,.10)}

.row{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:12px;margin-bottom:7px}
.grow{flex:1;min-width:0}
.rowtitle{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.amount{font-weight:700;white-space:nowrap}
.expense{color:var(--red)}.income{color:var(--green)}
.row-chevron{flex:0 0 auto;font-size:17px;color:var(--muted);opacity:.6;line-height:1}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.account{min-height:112px}
.account strong{display:block;font-size:19px;margin-top:12px;font-weight:700}

/* Navigazione — dorso del registro, schede sottili */
nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(11,18,32,.92);border-top:1px solid var(--line);
  padding:7px 5px calc(7px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}
nav button{position:relative;border:0;background:none;color:#5E6C8C;display:flex;flex-direction:column;align-items:center;
  gap:3px;padding:6px 3px;border-radius:12px;transition:color .15s ease}
nav button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
nav button small{font-size:9px;font-weight:700;letter-spacing:.02em}
nav .active{color:var(--accent)}
nav button.active::before{content:"";display:block;width:4px;height:4px;border-radius:50%;
  background:var(--accent);margin-bottom:2px}

#fab{position:fixed;z-index:25;right:18px;bottom:calc(80px + env(safe-area-inset-bottom));
  width:56px;height:56px;border:0;border-radius:50%;background:var(--accent);color:var(--accent-ink);
  font-size:30px;line-height:1;box-shadow:0 10px 26px rgba(201,162,39,.35)}

#shade{position:fixed;inset:0;z-index:30;background:rgba(5,9,18,.62);backdrop-filter:blur(2px)}
#modal{position:fixed;z-index:31;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;
  background:var(--card-2);border:1px solid var(--line);border-bottom:0;
  border-radius:22px 22px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}
#modal.fullscreen-modal{position:fixed;z-index:31;inset:0;width:100vw;height:100dvh;max-height:none;
  overflow-y:auto;background:var(--bg);border-radius:0;border:0;
  padding:calc(12px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}

.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.modalhead h2{margin:0;font-size:19px;font-family:var(--font-display);font-weight:600}
.close{border:0;background:var(--card-3);color:var(--ink);border-radius:50%;width:34px;height:34px;font-size:19px}

form{display:grid;gap:12px}
label{font-size:12px;font-weight:700;color:var(--muted)}
input,select{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:12px;
  background:var(--card-3);color:var(--ink)}
input:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.invalid-field{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(226,87,76,.18)!important}

.segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--card-3);
  padding:4px;border-radius:12px;border:1px solid var(--line-soft)}
.segment button{border:0;background:transparent;color:var(--muted);padding:9px 4px;border-radius:9px;
  font-size:11px;font-weight:800}
.segment .active{background:var(--accent);color:var(--accent-ink)}

.tabs,.chips{display:flex;gap:6px;overflow:auto;margin-bottom:10px}
.tab,.chip{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--muted);
  border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}
.tab.active,.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* Calendario */
.calhead{display:flex;justify-content:space-between;align-items:center}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.weekday{text-align:center;font-size:9px;font-weight:800;color:var(--muted);padding:5px;letter-spacing:.04em}
.day{font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:96px;border:1px solid var(--line);
  border-radius:10px;background:var(--card);padding:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.day.other{opacity:.32}
.day.today{outline:1.5px solid var(--accent)}
.daynum{font-size:10px;font-weight:800;color:var(--muted)}
.dayevents{min-height:0;flex:1}
.event{font-size:8px;margin-top:3px;padding:3px;border-radius:5px;background:var(--card-3);color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event.due{color:var(--amber);font-weight:800;background:rgba(227,167,58,.12)}
.event.real{background:rgba(63,184,140,.12);color:var(--green)}
.event.overdue{background:rgba(226,87,76,.14);color:var(--red)}
.moreevents{background:var(--card-3);color:var(--muted)}
.daytotal{margin-top:4px;padding-top:4px;border-top:1px solid var(--line-soft);font-size:8px;font-weight:800;
  line-height:1.15;overflow-wrap:anywhere;font-family:var(--font-mono)}
.daytotal.future,.daytotal.neutral,.emptytotal{color:#5E6C8C}
.daytotal.positive{color:var(--green)}.daytotal.negative{color:var(--red)}

.day-detail-close{display:flex;justify-content:flex-end;margin-bottom:2px}
.fullscreen-modal .day-detail-close{position:sticky;top:0;z-index:20;display:flex;justify-content:flex-end;
  height:44px;pointer-events:none}
.fullscreen-modal .day-detail-close .close{pointer-events:auto;width:40px;height:40px;
  background:var(--card-3);box-shadow:0 2px 10px rgba(0,0,0,.35)}
.fullscreen-modal .day-detail-nav{margin-top:-44px;padding:50px 0 10px}
.day-detail-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin-bottom:18px}
.day-arrow{width:46px;height:54px;border:1px solid var(--line);background:var(--card-3);border-radius:14px;
  font-size:26px;color:var(--ink)}
.day-detail-title{text-align:center;min-width:0}
.day-date{font-size:18px;font-weight:700;text-transform:capitalize;font-family:var(--font-display)}
.day-balance-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted);margin-top:7px}
.day-balance{font-size:27px;font-weight:700;margin-top:2px}
.day-detail-row{margin-bottom:7px}
.empty-day{text-align:center;color:var(--muted);padding:26px}

.notice{font-size:12px;color:var(--muted);background:var(--card-3);border:1px solid var(--line-soft);
  border-radius:13px;padding:11px;margin-bottom:10px}
.notice.compact{padding:9px 10px;margin-top:-2px;margin-bottom:8px}
.actions{display:flex;gap:6px;margin-top:9px}.actions button{flex:1}

@media(min-width:720px){nav{max-width:720px;left:50%;transform:translateX(-50%)}
  #fab{right:calc((100vw - 720px)/2 + 18px)}}

/* ---- Movimenti futuri / avvenuti ---- */
.future-movement{background:var(--card);border-color:var(--line);color:var(--muted)}
.future-movement .rowtitle,.future-movement .sub,.future-movement .future-amount{color:var(--muted)}
.due-movement{border-left:3px solid var(--amber)}
.movement-section{margin-bottom:18px}.movement-section .head{margin-top:10px}
.section-count{min-width:24px;height:24px;border-radius:999px;background:var(--card-3);color:var(--muted);
  display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}

.installment-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px;border:1px solid var(--line-soft);
  border-radius:13px;background:var(--card-3)}
.installment-fields label{min-width:0}
@media(max-width:380px){.installment-fields{grid-template-columns:1fr}}

.future-row{background:var(--card-2);border-color:var(--line)}
.future-text{color:var(--muted)!important}
.future-row .rowtitle{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.future-row .forecast-badge{margin-top:2px}

.movement-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;background:var(--card-3);
  padding:4px;border-radius:14px;border:1px solid var(--line-soft)}
.movement-tab{border:0;background:transparent;border-radius:11px;padding:11px 8px;font-size:12px;font-weight:800;
  color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px}
.movement-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.28)}
.count-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--card-2);
  color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.movement-tab.active .count-badge{background:var(--accent);color:var(--accent-ink)}
.future-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.mini-summary{min-height:88px;margin-bottom:0}
@media(max-width:390px){.future-summary{grid-template-columns:1fr}}

/* ---- Timbri: PREVISTO / ESIGIBILE OGGI / CONFERMATO / PROVVISORIO / CARTA ----
   Elemento distintivo del tema: badge trattati come veri timbri d'inchiostro
   su carta — contorno sottile, leggera rotazione, sfondo trasparente. */
.forecast-badge,.card-badge,.archive-badge,.credit-badge,.fin-future-badge{
  display:inline-flex;vertical-align:middle;margin-left:5px;padding:2px 7px;
  border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.06em;
  border:1px solid currentColor;background:transparent;transform:rotate(-3deg)
}
.forecast-badge{color:var(--muted);border-style:dashed}
.forecast-badge.due{color:var(--amber);border-style:solid;font-weight:900}
.card-badge{color:var(--red)}
.card-badge.debit{color:var(--muted);border-style:dashed}
.archive-badge{color:var(--muted);border-style:dashed}
.credit-badge{color:var(--green)}
.fin-future-badge{color:var(--muted);border-style:dashed}

.statement-status{display:inline-flex;margin-top:4px;padding:4px 9px;border-radius:999px;font-size:10px;
  font-weight:800;letter-spacing:.06em;border:1px solid currentColor;transform:rotate(-2deg)}
.statement-status.confirmed{color:var(--green)}
.statement-status.draft{color:var(--muted);border-style:dashed}

.archived-head{margin-top:18px}
.archived-item{background:var(--card);border-style:dashed;border-color:var(--line)}

/* ---- Carte di credito ---- */
.neutral{color:var(--muted)}
.card-purchase-row{border-left:3px solid var(--red)}
.card-debit-row,.statement-event{cursor:pointer;border-left:3px solid var(--muted)}
.credit-summary{cursor:pointer}
.cc-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cc-summary-grid strong,.cc-summary-grid .amount{display:block;font-size:18px;margin-top:4px}
.cardpurchase{background:rgba(226,87,76,.10);color:var(--red);cursor:pointer}
.cardpurchase.futurecard{background:var(--card-3);color:var(--muted)}
.statement-event{background:var(--card-3);color:var(--ink);font-weight:700}
.statement-total{background:var(--card-3);border:1px solid var(--line-soft);border-radius:16px;padding:15px;margin-bottom:12px}
.bigmoney{font-size:27px;margin:4px 0;font-weight:700}
@media(max-width:390px){.cc-summary-grid{grid-template-columns:1fr}}
.statement-actions{display:flex;justify-content:flex-end;margin:10px 0 16px}
.statement-link{cursor:pointer;border-radius:10px;padding:4px}
.statement-link:active{background:var(--card-3)}
.statement-preview{background:var(--card-3);border:1px solid var(--line-soft);border-radius:13px;padding:11px}

.daily-average-card strong{display:block;font-size:23px;margin:4px 0;font-weight:700}
.section-separator{margin-top:24px}

/* ---- Periodo stipendiale / storico Home ---- */
.home-scope{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:16px;padding:4px;
  background:rgba(255,255,255,.05);border-radius:12px}
.home-scope button{border:0;border-radius:9px;padding:8px 6px;background:transparent;color:#A7B2CC;
  font-size:10px;font-weight:800;letter-spacing:.02em}
.home-scope button.active{background:var(--accent);color:var(--accent-ink)}
.scope-caption{text-align:center;font-size:10px;color:#A7B2CC;margin:7px 0 3px}

/* ---- Finanziamenti ---- */
.financing-card{padding:14px 15px}
.financing-card .rowtitle{margin-bottom:2px}
.financing-card .amount{margin:2px 0 1px}
.financing-card .sub{line-height:1.25}
.financing-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.financing-actions button{width:100%;min-width:0;padding:8px 5px;font-size:11px;line-height:1.05;
  white-space:nowrap;border-radius:11px}
@media(max-width:430px){
  .financing-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .financing-actions button{padding:8px 3px;font-size:10px;letter-spacing:-.01em}
}
.financing-credit-row{border-left:3px solid var(--green)}
.financing-credit-info{margin-top:3px}

/* ---- Impegni futuri ---- */
.commitments-hero{padding:18px}
.commitments-total{font-size:28px;font-weight:700;margin:4px 0}
.commitment-month{display:block;width:100%;text-align:left;color:inherit}
.commitment-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.commitment-title{text-transform:capitalize;font-family:var(--font-display)}
.commitment-detail-total .bigmoney{font-size:27px;margin:4px 0}
.commitment-full-head{text-align:center;padding:8px 0 18px}
.commitment-full-title{font-size:21px;font-weight:700;text-transform:capitalize;font-family:var(--font-display)}
.commitment-detail-row{margin-bottom:7px}

#finSchedulePreview strong{color:var(--ink)}

/* ---- Elenco rate finanziamento ---- */
.fin-list-head{text-align:center;padding:8px 0 16px}
.fin-list-title{font-size:22px;font-weight:700;font-family:var(--font-display)}
.fin-list-summary{margin-bottom:16px}
.fin-rate-row{margin-bottom:7px}
.future-fin-rate{background:var(--card-2);border-color:var(--line)}
.future-fin-rate .rowtitle,.future-fin-rate .sub{color:var(--muted)}
.fin-future-amount{color:var(--muted)!important}
.due-fin-rate{border-left:3px solid var(--amber)}

/* ---- Statistiche v1.5.3 ---- */
.stat-entry-card{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}
.stat-chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px}
.stat-chart-scroll svg{display:block}
.stat-axis-label{fill:var(--muted);font-size:8px;font-family:var(--font-mono)}
.stat-legend{display:flex;gap:16px;justify-content:center;margin-top:10px;font-size:11px;color:var(--muted)}
.stat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.stat-dot.income{background:var(--green)}
.stat-dot.expense{background:var(--red)}
.stat-cat-row{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px}
.stat-cat-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.stat-cat-name{font-weight:700;font-size:13px}
.stat-cat-amount{font-family:var(--font-mono);font-weight:700;white-space:nowrap}
.stat-bar-track{height:7px;border-radius:99px;background:var(--card-3);overflow:hidden}
.stat-bar-fill{height:100%;border-radius:99px;background:var(--accent)}
.stat-cat-pct{font-size:10px;color:var(--muted);margin-top:5px}

/* ---- Indicatore rendiconto da regolarizzare (v1.5.3) ---- */
.nav-badge{position:absolute;top:2px;right:22%;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--bg)}

/* ---- Ricerca movimenti (v1.5.3) ---- */
.search-bar{display:flex;gap:8px;margin-bottom:10px}
.search-bar input{flex:1;margin-top:0}
.search-bar .search-clear{padding:0 15px;border-radius:12px}


/* ================= v1.5.7 — accesso guidato ai rendiconti ================= */
.statement-attention-card{display:block;width:100%;text-align:left;color:inherit;border-color:rgba(201,162,39,.55);
  background:linear-gradient(145deg,rgba(201,162,39,.13),var(--card));cursor:pointer}
.statement-attention-head,.statement-list-main{display:flex;align-items:center;gap:10px;justify-content:space-between}
.statement-attention-card .rowtitle{margin:3px 0 4px;color:var(--ink)}
.statement-attention-count{flex:0 0 auto;min-width:34px;height:34px;padding:0 9px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);font-weight:900}
.statement-list-title{padding:8px 2px 10px}
.statement-list-title h2{font-family:var(--font-display);font-size:24px;font-weight:600;margin:3px 0 6px}
.statement-list-card{display:block;width:100%;text-align:left;color:inherit;cursor:pointer}
.statement-list-card .statement-status{margin-top:7px}
.statement-list-card .amount{margin-left:8px}


/* [v2.0.0-alpha5 - BLOCCO ZOOM PWA]
   Evita lo zoom automatico di Safari quando un campo riceve il focus.
   La viewport blocca pinch-zoom; touch-action elimina il double-tap zoom. */
html,body,#app,main{touch-action:manipulation}
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:16px!important}
}

/* Risoluzione conflitti Drive */
.gf-conflict-card{display:grid;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}
.gf-conflict-side{background:var(--card-3);border:1px solid var(--line-soft);border-radius:12px;padding:10px}
.gf-conflict-side strong{display:block;margin-bottom:4px}
.gf-conflict-summary{white-space:normal;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.4}
.gf-conflict-select{font-size:16px!important}


/* [v2.0.0-alpha6 - STATO SINCRONIZZAZIONE GLOBALE] */
.sync-chip{
  position:absolute;top:calc(20px + env(safe-area-inset-top));right:58px;
  max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border:1px solid var(--line);border-radius:999px;padding:5px 8px;
  background:rgba(18,27,46,.92);font-size:10px;font-weight:800;
  letter-spacing:.01em;color:var(--muted);line-height:1;
}
.sync-chip.sync-ok{color:var(--green);border-color:rgba(63,184,140,.38)}
.sync-chip.sync-warn{color:var(--amber);border-color:rgba(227,167,58,.42)}
.sync-chip.sync-error{color:#F3948C;border-color:rgba(226,87,76,.48)}
.sync-chip.sync-busy{color:var(--accent);border-color:rgba(201,162,39,.42)}
.sync-chip.sync-busy::first-letter{animation:gfPulse 1s infinite alternate}
@keyframes gfPulse{from{opacity:.35}to{opacity:1}}
@media(max-width:390px){.sync-chip{max-width:118px;font-size:9px}}
