:root {
  --ink: #2a2522;
  --muted: #756d67;
  --cream: #f5f8fd;
  --paper: #ffffff;
  --line: #e2e9f5;
  --orange: #1673c7;
  --orange-dark: #1354ad;
  --orange-soft: #e8f2fc;
  --green: #079b45;
  --red: #df2327;
  --cone: #bd7736;
  --shadow: 0 12px 35px rgba(21, 73, 139, .09);
}

/* Desktop v44 final: tenuto in fondo al file per prevalere sulle regole storiche. */
@media (min-width:701px) {
  html,body { overflow-y:auto !important; overscroll-behavior-y:auto !important; }
  body:not(.modal-open) { position:static !important; top:auto !important; }
  body .hero-emblem { overflow:visible !important; contain:none !important; }
  body .hero-emblem img {
    filter:drop-shadow(0 0 2px rgba(255,255,255,.98)) drop-shadow(0 0 9px rgba(66,220,255,.92)) drop-shadow(0 0 25px rgba(113,73,255,.78)) brightness(1.1) saturate(1.08) !important;
    animation:desktopNeonLogoFinal 3.8s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
    transform:translate3d(0,0,0);
    will-change:transform,opacity;
  }
  body .hero-emblem::before {
    width:132% !important;height:128% !important;
    background:radial-gradient(ellipse,rgba(70,218,255,.28) 0%,rgba(91,79,255,.20) 37%,rgba(73,40,220,.08) 56%,transparent 72%) !important;
    filter:blur(18px) !important;
    animation:desktopNeonAuraFinal 3.8s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
    transform:translate3d(0,0,0);will-change:transform,opacity;
  }
  .stats-sign { display:none !important; }
  body .stats .stat::before {
    content:"" !important;display:block !important;position:absolute !important;
    inset:auto -34px -48px auto !important;width:126px !important;height:126px !important;
    border:1px solid rgba(117,215,255,.20) !important;border-radius:50% !important;
    background:radial-gradient(circle at 35% 32%,rgba(76,219,255,.18),rgba(91,91,255,.08) 42%,transparent 70%) !important;
    box-shadow:0 0 32px rgba(68,144,255,.12),inset 0 0 22px rgba(143,91,255,.08) !important;
    opacity:1 !important;filter:none !important;pointer-events:none;z-index:0 !important;
  }
  body .stats .stat:nth-of-type(2)::before,
  body .stats .stat:nth-of-type(4)::before {
    border-color:rgba(181,113,255,.19) !important;
    background:radial-gradient(circle at 35% 32%,rgba(163,93,255,.17),rgba(48,142,255,.07) 44%,transparent 70%) !important;
  }
  body .stats .stat > * { position:relative;z-index:2; }
}

/* Desktop v46: rifiniture finali, senza alcun impatto sotto i 701 px. */
@media (min-width:701px) {
  /* Stessa cinematica approvata, ma senza blur ricalcolato durante lo scroll. */
  body .hero-emblem { transform:translateZ(0);backface-visibility:hidden; }
  body .hero-emblem img {
    filter:drop-shadow(0 0 8px rgba(80,228,255,.98)) drop-shadow(0 0 25px rgba(111,65,255,.9)) brightness(1.22) saturate(1.12) !important;
    backface-visibility:hidden;transform:translateZ(0);contain:layout style;
  }
  body .hero-emblem::before {
    filter:none !important;
    background:radial-gradient(ellipse at center,rgba(124,239,255,.35) 0%,rgba(91,101,255,.24) 30%,rgba(112,45,255,.1) 51%,transparent 72%) !important;
    backface-visibility:hidden;
  }

  /* La decorazione prismatica viene rimossa: restano soltanto le icone utili. */
  body .stats .stat::before { display:none !important;content:none !important;background:none !important; }

  .entry-date-control { display:block;position:relative;margin-top:7px; }
  .entry-date-control #entryDate {
    position:absolute !important;width:1px !important;height:1px !important;min-width:1px !important;
    padding:0 !important;margin:0 !important;opacity:0;pointer-events:none;
  }
  .desktop-date-button {
    width:100%;min-height:66px;padding:10px 15px !important;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;text-align:left;
    border:1px solid rgba(126,205,255,.38) !important;border-radius:14px !important;
    color:#edf9ff !important;background:linear-gradient(125deg,rgba(24,83,177,.7),rgba(63,42,159,.68)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 20px rgba(3,10,58,.18) !important;
  }
  .desktop-date-button:hover,.desktop-date-button[aria-expanded="true"] {
    transform:translateY(-1px);border-color:#72dcff !important;background:linear-gradient(125deg,rgba(31,112,211,.8),rgba(84,48,188,.78)) !important;
  }
  .desktop-date-icon {
    width:42px;height:42px;margin:0 !important;display:grid;place-items:center;border-radius:12px;
    color:#c9f7ff !important;background:linear-gradient(145deg,rgba(70,207,255,.3),rgba(114,76,255,.24));
    font-size:22px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  }
  .desktop-date-copy { display:block;min-width:0; }
  .desktop-date-copy small { display:block;margin:0 0 3px;color:rgba(213,236,255,.66);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase; }
  .desktop-date-copy strong { display:block;overflow:hidden;color:#fff;font-size:15px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap; }
  .desktop-date-chevron { margin:0 !important;color:#9beaff !important;font-size:20px !important;text-align:center;transition:transform .2s ease; }
  .desktop-date-button[aria-expanded="true"] .desktop-date-chevron { transform:rotate(180deg); }
}

/* Desktop v45: neon più visibile, scorrimento leggero e calendario con disponibilità. */
@media (min-width:701px) {
  body { background-attachment:scroll !important; }
  .panel,.stat,.topbar { backdrop-filter:none !important;-webkit-backdrop-filter:none !important; }
  .panel,.history-panel { content-visibility:auto;contain-intrinsic-size:auto 520px; }

  body .hero-emblem img {
    opacity:1;
    filter:drop-shadow(0 0 3px rgba(255,255,255,1)) drop-shadow(0 0 12px rgba(67,225,255,1)) drop-shadow(0 0 33px rgba(113,66,255,.96)) brightness(1.22) saturate(1.12) !important;
    animation:desktopNeonCinemaV45 5.2s linear infinite !important;
  }
  body .hero-emblem::before {
    width:140% !important;height:136% !important;filter:blur(13px) !important;
    background:radial-gradient(ellipse,rgba(91,230,255,.42) 0%,rgba(100,83,255,.27) 38%,rgba(112,45,255,.11) 58%,transparent 73%) !important;
    animation:desktopNeonAuraCinemaV45 5.2s linear infinite !important;
  }

  /* Firma prismatica: niente cerchi e nessun testo dietro ai dati. */
  body .stats .stat::before {
    content:"" !important;inset:auto -20px 15px auto !important;
    width:128px !important;height:30px !important;border:0 !important;border-radius:0 !important;
    background:linear-gradient(100deg,transparent 0 8%,rgba(79,224,255,.09) 9% 32%,rgba(77,153,255,.25) 33% 35%,rgba(160,91,255,.08) 36% 62%,rgba(184,93,255,.23) 63% 65%,transparent 66%) !important;
    box-shadow:none !important;clip-path:polygon(0 42%,100% 0,100% 18%,8% 58%,100% 42%,100% 55%,0 100%) !important;
    transform:rotate(-7deg);opacity:.8 !important;
  }
  body .stats .stat:nth-of-type(2)::before,
  body .stats .stat:nth-of-type(4)::before {
    border:0 !important;
    background:linear-gradient(100deg,transparent 0 8%,rgba(163,94,255,.08) 9% 32%,rgba(184,91,255,.24) 33% 35%,rgba(67,182,255,.08) 36% 62%,rgba(74,216,255,.22) 63% 65%,transparent 66%) !important;
  }

  .entry-date-control { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:7px; }
  .entry-date-control #entryDate { margin-top:0 !important;appearance:textfield;-webkit-appearance:textfield; }
  #entryDate::-webkit-calendar-picker-indicator { display:none; }
  .desktop-date-button {
    min-width:158px;padding:0 15px;border:1px solid rgba(126,205,255,.38);border-radius:11px;
    color:#e8f8ff;background:linear-gradient(135deg,rgba(35,104,205,.55),rgba(80,47,178,.52));
    font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:transform .18s ease,border-color .18s ease,background .18s ease;
  }
  .desktop-date-button:hover,.desktop-date-button[aria-expanded="true"] { transform:translateY(-1px);border-color:#72dcff;background:linear-gradient(135deg,rgba(38,128,226,.74),rgba(103,57,205,.7)); }
  .desktop-date-button span { margin-right:5px;color:#8be9ff;font-size:18px;vertical-align:-1px; }
  .desktop-calendar {
    width:min(390px,100%);margin:10px 0 15px;padding:15px;border:1px solid rgba(119,211,255,.38);border-radius:16px;
    background:linear-gradient(145deg,#112e78,#241877);box-shadow:0 20px 42px rgba(3,8,51,.42),inset 0 1px 0 rgba(255,255,255,.12);
  }
  .desktop-calendar[hidden] { display:none !important; }
  .desktop-calendar header { display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px; }
  .desktop-calendar header strong { text-align:center;text-transform:capitalize;color:#fff; }
  .desktop-calendar header button { width:34px;height:34px;border:1px solid rgba(151,213,255,.25);border-radius:10px;color:#bceeff;background:rgba(255,255,255,.07);font-size:23px;line-height:1; }
  .calendar-weekdays,.calendar-days { display:grid;grid-template-columns:repeat(7,1fr);gap:5px; }
  .calendar-weekdays { margin-bottom:5px;color:rgba(221,238,255,.66);font-size:11px;text-align:center;text-transform:uppercase; }
  .calendar-day,.calendar-blank { position:relative;display:grid;place-items:center;min-height:36px; }
  .calendar-day { border:1px solid transparent;border-radius:10px;color:#eef7ff;background:transparent; }
  .calendar-day:hover { border-color:rgba(108,221,255,.55);background:rgba(85,165,255,.14); }
  .calendar-day.selected { color:#071b55;background:linear-gradient(135deg,#bff5ff,#9ec6ff);font-weight:800;box-shadow:0 0 14px rgba(88,222,255,.38); }
  .calendar-day i { position:absolute;left:50%;bottom:3px;width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:#ffb34f;box-shadow:0 0 7px rgba(255,157,48,.95); }
  .calendar-day.selected i { background:#bd5d00;box-shadow:none; }
  .desktop-calendar > p { display:flex;align-items:center;gap:7px;margin:12px 3px 0;color:rgba(226,239,255,.72);font-size:11px; }
  .desktop-calendar > p i { width:7px;height:7px;border-radius:50%;background:#ffb34f;box-shadow:0 0 7px rgba(255,157,48,.9); }

  #entryDialog .form-error:not(:empty) {
    min-height:auto;margin:4px 0 8px;padding:11px 13px;border-left:4px solid #ff4d5f;border-radius:8px;
    color:#fff0f2 !important;background:rgba(184,22,51,.38);box-shadow:0 0 18px rgba(255,45,79,.18);font-weight:750;
  }
}
@media (max-width:700px) {
  .desktop-date-button,.desktop-calendar { display:none !important; }
  .entry-date-control { display:block; }
}

/* v66: allineamento del conteggio e testata Archivio leggibile. */
#monthDays { display:flex;align-items:baseline;gap:.28em;line-height:1.25; }
#monthDays .stat-count { display:inline-block;margin:0;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;vertical-align:baseline; }
#monthDays > span { color:inherit;font:inherit;font-weight:inherit;line-height:inherit; }
.top-actions #exportButton .top-action-label { max-width:none !important;overflow:visible !important;text-overflow:clip !important;white-space:nowrap !important;letter-spacing:0 !important; }
@media (max-width:700px) {
  .top-actions #exportButton .top-action-label { font-size:8px !important;line-height:1 !important; }
}

/* v68: correzione ottica del solo conteggio desktop. */
@media (min-width:701px) {
  #monthDays .stat-count { position:relative !important;top:-2px !important; }
}

/* v69: safe area definitiva per notch e Dynamic Island nelle PWA iOS. */
@media (max-width:700px) {
  .topbar {
    min-height:calc(78px + env(safe-area-inset-top,0px)) !important;
    padding-top:calc(11px + env(safe-area-inset-top,0px)) !important;
    padding-right:max(12px,env(safe-area-inset-right,0px)) !important;
    padding-bottom:11px !important;
    padding-left:max(12px,env(safe-area-inset-left,0px)) !important;
    box-sizing:border-box !important;
  }
}

/* v53: calendario interamente cliccabile, registro lineare e larghezze ottiche uguali. */
.history-filters .date-filter { position:relative;cursor:pointer; }
.history-filters .date-filter input { position:static;cursor:pointer; }
.history-filters .date-filter input::-webkit-calendar-picker-indicator { position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0; }
.history-filters .date-filter .filter-icon { width:42px;height:42px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 14px rgba(61,200,255,.12); }
.history-filters .date-filter .filter-icon svg { width:24px;height:24px; }
.desktop-calendar > p i { display:block;flex:0 0 7px !important;min-width:7px; }

@media (min-width:701px) {
  .history-panel tbody { grid-template-columns:1fr !important; }
  .stats { box-shadow:none !important; }
}
@keyframes desktopNeonCinemaV45 {
  0%,7% { opacity:.34;transform:translate3d(0,0,0) scale(.988); }
  8% { opacity:.9; }
  9.5% { opacity:.42; }
  11% { opacity:1; }
  13% { opacity:.55; }
  15%,72% { opacity:1;transform:translate3d(0,0,0) scale(1.008); }
  82% { opacity:.88; }
  100% { opacity:.42;transform:translate3d(0,0,0) scale(.992); }
}
@keyframes desktopNeonAuraCinemaV45 {
  0%,7% { opacity:.08;transform:translate3d(0,0,0) scale(.94); }
  8% { opacity:.65; }
  9.5% { opacity:.18; }
  11% { opacity:.92; }
  13% { opacity:.28; }
  15%,72% { opacity:1;transform:translate3d(0,0,0) scale(1.045); }
  100% { opacity:.16;transform:translate3d(0,0,0) scale(.96); }
}
@keyframes desktopNeonLogoFinal {
  0% { opacity:.78;transform:translate3d(0,0,0) scale(.992); }
  42% { opacity:.91; }
  100% { opacity:1;transform:translate3d(0,0,0) scale(1.006); }
}
@keyframes desktopNeonAuraFinal {
  0% { opacity:.28;transform:translate3d(0,0,0) scale(.96); }
  100% { opacity:.88;transform:translate3d(0,0,0) scale(1.035); }
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
button, input, textarea { font: inherit; }
input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
button { cursor: pointer; }
.topbar { min-height: 82px; padding: 8px max(24px, calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.93); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; backdrop-filter: blur(12px); }
.brand { display: flex; gap: 12px; align-items: center; color: inherit; text-decoration: none; }
.brand-logo { width: 52px; height: 52px; object-fit: cover; border-radius: 14px; box-shadow: 0 7px 20px rgba(23,91,178,.22); }
.brand strong, .brand small { display: block; }
.brand small { margin-top: 2px; color: var(--muted); font-size: 12px; }
main { width: min(1180px, calc(100% - 36px)); margin: 0 auto; padding: 48px 0 60px; }
.welcome { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 30px; }
.welcome h1 { font-family: Georgia, serif; font-size: clamp(32px, 5vw, 46px); line-height: 1.08; margin: 7px 0 12px; letter-spacing: -.03em; }
.greeting-cone { display: inline-block; position: relative; width: 43px; height: 50px; margin-left: 10px; vertical-align: -.22em; transform-origin: 50% 90%; animation: coneHello 2.8s ease-in-out infinite; }
.cone-scoop { position: absolute; left: 7px; top: 1px; width: 29px; height: 24px; border-radius: 55% 55% 44% 44%; background: linear-gradient(135deg, #fff9ec, #efccd8 48%, #a9dcff); box-shadow: inset -4px -4px 7px rgba(76,46,126,.14), 0 4px 10px rgba(0,0,0,.24); }
.cone-wafer { position: absolute; left: 11px; top: 21px; width: 22px; height: 27px; background: linear-gradient(145deg, #e6aa61, #b8682c); clip-path: polygon(0 0,100% 0,50% 100%); }
.cone-wafer::after { content: ""; position: absolute; inset: 2px 3px 7px; background: repeating-linear-gradient(45deg, transparent 0 4px, rgba(91,47,20,.28) 4px 5px), repeating-linear-gradient(-45deg, transparent 0 4px, rgba(91,47,20,.22) 4px 5px); clip-path: inherit; }
.cone-spark { position: absolute; color: #c8ecff; font-family: sans-serif; text-shadow: 0 0 8px #63c8ff; }
.cone-spark-one { right: -4px; top: -5px; font-size: 13px; animation: sparkle 1.4s ease-in-out infinite; }
.cone-spark-two { left: -5px; top: 11px; font-size: 10px; animation: sparkle 1.4s .5s ease-in-out infinite; }
@keyframes coneHello { 0%,55%,100% { transform: rotate(0deg); } 65% { transform: rotate(13deg); } 75% { transform: rotate(-10deg); } 85% { transform: rotate(8deg); } }
@keyframes sparkle { 0%,100% { opacity: .2; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.2); } }
.welcome p:last-child { color: var(--muted); margin: 0; }
.eyebrow { margin: 0; color: var(--orange-dark); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }
.button { border: 0; border-radius: 12px; padding: 12px 17px; font-weight: 750; transition: .18s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: linear-gradient(135deg, #087dc5, #2b48b8); color: white; box-shadow: 0 8px 18px rgba(22,115,199,.23); }
.button-primary:hover { background: var(--orange-dark); }
.button-quiet { color: var(--ink); background: white; border: 1px solid var(--line); }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 18px; }
.stat { padding: 22px; min-height: 142px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: center; }
.stat span { font-size: 13px; color: var(--muted); font-weight: 650; }
.stat strong { display: block; margin: 9px 0 7px; font-size: 27px; letter-spacing: -.03em; }
.stat small { color: var(--muted); }
.stat-featured { color: white; border: 0; background: linear-gradient(135deg, #0786c8, #2c47b8); position: relative; overflow: hidden; }
.stat-featured::after { content: ""; position: absolute; width: 90px; height: 90px; right: -34px; bottom: -44px; border: 13px solid rgba(255,255,255,.08); border-radius: 50%; }
.stat-featured span, .stat-featured small { color: rgba(255,255,255,.8); }
.content-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 18px; margin-bottom: 18px; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 23px; box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.panel-heading h2 { margin: 4px 0 0; font-family: Georgia, serif; font-size: 22px; }
.legend { display: grid; grid-template-columns: 8px auto; gap: 3px 7px; align-items: center; font-size: 12px; color: var(--muted); }
.legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.legend strong { grid-column: 2; color: white; font-family: "Avenir Next", Optima, "Segoe UI", sans-serif; font-size: 14px; }
.chart { height: 190px; display: flex; align-items: end; justify-content: space-around; gap: 8px; padding-top: 10px; border-bottom: 1px solid var(--line); background-image: linear-gradient(to bottom, var(--line) 1px, transparent 1px); background-size: 100% 25%; }
.bar-group { height: 100%; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: end; gap: 8px; min-width: 0; }
.bar { width: min(38px, 70%); min-height: 3px; background: linear-gradient(#f49a71, var(--orange)); border-radius: 8px 8px 3px 3px; position: relative; transition: height .4s ease; }
.bar:hover::after { content: attr(data-value); position: absolute; bottom: calc(100% + 5px); left: 50%; transform: translateX(-50%); background: var(--ink); color: white; border-radius: 6px; padding: 4px 7px; white-space: nowrap; font-size: 10px; z-index: 2; }
.bar-group small { color: var(--muted); font-size: 10px; white-space: nowrap; }
.donut-wrap { min-height: 190px; display: flex; align-items: center; justify-content: space-around; gap: 20px; }
.donut { width: 148px; height: 148px; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--orange) 0%, var(--orange-soft) 0%); position: relative; box-shadow: inset 0 0 0 1px rgba(255,255,255,.13), 0 14px 30px rgba(0,0,0,.18); }
.donut::after { display: none; }
.pie-value { position: absolute; transform: translate(-50%,-50%); color: white; font-family: "Avenir Next", Optima, "Segoe UI", sans-serif; font-size: 14px; font-weight: 800; text-shadow: 0 2px 5px rgba(0,0,0,.55); pointer-events: none; }
.breakdown { flex: 1; }
.breakdown p { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; margin: 14px 0; }
.breakdown span { color: var(--muted); font-size: 13px; }
.breakdown strong { font-size: 13px; }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.card-dot { background: var(--orange); }.cash-dot { background: var(--orange-soft); border: 1px solid #f2d7c6; }
.search { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); }
.search input { border: 0; outline: 0; width: 170px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.top-date { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: capitalize; padding-right: 7px; }
.user-button { display: flex; align-items: center; gap: 6px; padding: 9px 12px; color: var(--ink); background: var(--orange-soft); border: 1px solid #d6e7fa; border-radius: 11px; }
.week-alert { display: flex; align-items: center; gap: 13px; padding: 14px 17px; margin: -10px 0 22px; background: #fffaf0; border: 1px solid #efddb8; border-left: 4px solid var(--cone); border-radius: 13px; }
.week-alert[hidden] { display: none; }
.alert-icon { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; border-radius: 50%; background: var(--cone); color: white; font-weight: 900; }
.week-alert strong { font-size: 13px; }
.week-alert ul { margin: 7px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: 12px; }
.week-alert li { margin-top: 4px; text-transform: capitalize; }
.week-alert li::before { content: "—"; margin-right: 7px; color: #d3a468; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
td { padding: 14px 12px; border-bottom: 1px solid #f3ece5; white-space: nowrap; }
td.note-cell { max-width: 170px; overflow: hidden; text-overflow: ellipsis; color: var(--muted); }
.row-actions { display: flex; gap: 5px; }
.mini-button { border: 0; background: var(--orange-soft); color: var(--orange-dark); border-radius: 7px; padding: 6px 8px; }
.mini-button.delete { background: #fff0ee; color: #b94b42; }
.empty-state { text-align: center; padding: 35px 20px 25px; color: var(--muted); }
.empty-state span { font-size: 31px; }.empty-state h3 { color: var(--ink); margin: 8px 0 4px; }.empty-state p { margin: 0; }
dialog { width: min(620px, calc(100% - 24px)); max-height: calc(100vh - 30px); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 30px 90px rgba(38,25,19,.25); }
dialog::backdrop { background: rgba(44,34,29,.5); backdrop-filter: blur(3px); }
dialog form { padding: 27px; overflow-y: auto; }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; margin-bottom: 24px; }
.dialog-heading h2 { margin: 4px 0 0; font-family: Georgia, serif; font-size: 27px; }
.icon-button { width: 35px; height: 35px; border: 0; background: #f7f2ed; border-radius: 50%; font-size: 23px; color: var(--muted); }
form > label, .form-grid label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 17px; }
label small { display: block; color: var(--muted); font-weight: 400; margin: 3px 0 7px; }
label > input[type="date"], textarea { width: 100%; margin-top: 7px; border: 1px solid var(--line); border-radius: 11px; padding: 12px; outline-color: var(--orange); }
textarea { resize: vertical; }
.input-money { display: flex; align-items: center; margin-top: 7px; border: 1px solid var(--line); border-radius: 11px; padding: 0 12px; background: white; }
.input-money:focus-within { outline: 2px solid rgba(239,124,77,.3); border-color: var(--orange); }
.input-money span { color: var(--muted); }
.input-money input { width: 100%; border: 0; padding: 12px 8px; outline: 0; }
.input-disabled { background: #f7f4f1; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 15px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 8px; }
.form-error { color: #b3433b; min-height: 20px; margin: -3px 0 5px; font-size: 13px; }
.toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: var(--ink); color: white; border-radius: 11px; padding: 12px 18px; opacity: 0; pointer-events: none; transition: .2s; z-index: 10; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.notification-settings { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid rgba(139,224,255,.28);border-radius:15px;background:linear-gradient(135deg,rgba(31,105,212,.18),rgba(117,57,210,.16)); }
.notification-settings > div { display:grid;gap:4px; }
.notification-settings small { color:var(--muted);line-height:1.35; }
.notification-settings .button { flex:0 0 auto; }
@media (max-width:700px) { .notification-settings { align-items:stretch;flex-direction:column; }.notification-settings .button { width:100%; } }
.backup-settings { display:grid;gap:14px;padding:17px;border:1px solid rgba(139,224,255,.28);border-radius:17px;background:linear-gradient(145deg,rgba(20,104,205,.2),rgba(118,52,211,.18)); }
.backup-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.backup-heading > div { display:grid;gap:4px; }
.backup-settings small { color:var(--muted);line-height:1.4; }
.backup-list { display:grid;gap:8px;max-height:190px;overflow:auto;scrollbar-width:thin; }
.backup-list > p { margin:0;color:var(--muted); }
.backup-item { display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(155,220,255,.2);border-radius:13px;background:rgba(5,28,102,.28); }
.backup-item > span { display:grid;gap:2px;min-width:0; }
.backup-item strong { font-size:13px; }
.backup-item small { font-size:11px; }
.backup-downloads { display:flex;gap:7px; }
.backup-downloads button { border:1px solid rgba(137,226,255,.3);border-radius:9px;padding:7px 9px;color:#dffaff;background:rgba(67,111,219,.2);font-weight:750;cursor:pointer; }
.backup-import { display:grid;gap:8px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12); }
.backup-import > label { font-weight:800; }
.backup-import input[type="file"] { width:100%;padding:10px;border:1px dashed rgba(142,226,255,.34);border-radius:11px;color:var(--muted);background:rgba(255,255,255,.05); }
.backup-import-actions { display:flex;gap:9px; }
.backup-import-actions .button { flex:1; }
.backup-import-actions .button:disabled { opacity:.45;cursor:not-allowed; }
@media (max-width:700px) {
  .backup-heading { align-items:stretch;flex-direction:column; }
  .backup-heading .button { width:100%; }
  .backup-item { grid-template-columns:1fr; }
  .backup-downloads button { flex:1; }
  .backup-import-actions { flex-direction:column; }
}

/* v64: il profilo resta nel viewport e scorre internamente anche su PC. */
.account-dialog { overflow:hidden !important; }
.account-dialog #accountForm {
  max-height:calc(100dvh - 32px);
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}
@media (min-width:701px) {
  .account-dialog #accountForm { scrollbar-width:thin !important;scrollbar-color:#72dfff rgba(8,27,92,.45) !important; }
  .account-dialog #accountForm::-webkit-scrollbar { display:block !important;width:8px !important; }
  .account-dialog #accountForm::-webkit-scrollbar-track { background:rgba(8,27,92,.45); }
  .account-dialog #accountForm::-webkit-scrollbar-thumb { border-radius:999px;background:linear-gradient(#65ddff,#895cff); }
}
@media (max-width: 850px) { .stats { grid-template-columns: 1fr 1fr; }.content-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .top-date { display: none; } .user-button strong { display: none; } }
@media (max-width: 560px) { main { width: min(100% - 24px, 1180px); padding-top: 28px; }.topbar { padding: 7px 13px; }.brand small { display: none; }.brand strong { font-size: 13px; }.brand-logo { width: 45px; height: 45px; }.welcome { display: block; }.welcome .button { width: 100%; margin-top: 22px; }.stats { grid-template-columns: 1fr 1fr; gap: 10px; }.stat { min-height: 124px; padding: 16px; }.stat strong { font-size: 21px; }.panel { padding: 17px; }.summary-panel { display: none; }.panel-heading { align-items: start; }.history-panel .panel-heading { display: block; }.search { margin-top: 13px; }.search input { width: 100%; }.form-grid { grid-template-columns: 1fr; }.dialog-actions .button { flex: 1; }.topbar #exportButton { font-size: 0; padding: 10px; }.topbar #exportButton::after { content: "CSV"; font-size: 11px; } }

/* Tema Scala: blu notte e viola, vetro satinato e dettagli da boutique */
:root {
  --ink: #f9fbff;
  --muted: rgba(235, 242, 255, .68);
  --cream: #0e2f91;
  --paper: rgba(8, 29, 91, .64);
  --line: rgba(255, 255, 255, .15);
  --orange: #50a7ff;
  --orange-dark: #b7dcff;
  --orange-soft: rgba(104, 180, 255, .14);
  --shadow: 0 22px 55px rgba(1, 9, 44, .27);
}
body {
  min-height: 100vh;
  font-family: Optima, Candara, "Avenir Next", "Segoe UI", sans-serif;
  background-color: #15399f;
  background-image: linear-gradient(135deg, rgba(1, 74, 183, .2), rgba(85, 20, 193, .2)), url("sfondo-scala.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 12% 10%, rgba(0, 192, 255, .18), transparent 30%), radial-gradient(circle at 88% 75%, rgba(126, 46, 255, .16), transparent 34%);
  z-index: -1;
}
.topbar {
  color: white;
  background: rgba(4, 22, 79, .58);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 8px 30px rgba(1, 10, 52, .18);
}
.brand-monogram { width: 48px; height: 48px; display: grid; place-items: center; position: relative; flex: 0 0 auto; color: white; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; font-family: Didot, "Bodoni MT", Georgia, serif; font-size: 17px; letter-spacing: -.06em; background: radial-gradient(circle at 35% 25%, rgba(94,192,255,.3), rgba(26,28,125,.18)); box-shadow: inset 0 0 0 4px rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.2); }
.brand-monogram::after { content: ""; position: absolute; width: 54px; height: 1px; left: 53px; background: linear-gradient(90deg, rgba(255,255,255,.5), transparent); }
.brand small, .top-date { color: rgba(255,255,255,.66); }
.top-date { letter-spacing: .08em; }
.user-button, .button-quiet {
  color: white;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.19);
  backdrop-filter: blur(12px);
}
main { position: relative; }
.welcome { min-height: 185px; display: grid; grid-template-columns: 1fr minmax(220px, 340px) 1fr; align-items: center; padding: 22px 0; }
.welcome > div:first-child { align-self: center; }
.hero-actions { justify-self: end; display: grid; gap: 13px; min-width: 210px; }
.hero-actions > .button { width: 100%; }
.daily-pulse { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 30px rgba(0,8,55,.18); backdrop-filter: blur(16px); }
.daily-pulse small, .daily-pulse strong { display: block; }
.daily-pulse small { color: rgba(255,255,255,.6); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.daily-pulse strong { margin-top: 3px; color: #ffe0a8; font-size: 13px; }
.daily-pulse strong.complete { color: #a8ffd2; }
.scoop-orbit { width: 43px; height: 43px; position: relative; flex: 0 0 auto; animation: orbitFloat 3.4s ease-in-out infinite; }
.scoop-orbit i { position: absolute; width: 18px; height: 18px; border-radius: 50%; box-shadow: inset -3px -3px 5px rgba(0,0,0,.15); }
.scoop-orbit i:nth-child(1) { left: 1px; top: 7px; background: #43d57a; }
.scoop-orbit i:nth-child(2) { left: 13px; top: 2px; background: #fff6e7; }
.scoop-orbit i:nth-child(3) { right: 0; top: 8px; background: #f25258; }
.scoop-orbit b { position: absolute; left: 10px; bottom: 0; width: 25px; height: 24px; background: #ce873f; clip-path: polygon(0 0,100% 0,50% 100%); z-index: -1; }
@keyframes orbitFloat { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(3deg); } }
.welcome h1 { color: white; text-shadow: 0 5px 22px rgba(0, 10, 62, .22); }
.welcome p:last-child { color: rgba(242,246,255,.76); }
.eyebrow { color: #bfe2ff; letter-spacing: .17em; }
.hero-emblem { display: grid; place-items: center; height: 170px; padding: 8px; position: relative; isolation: isolate; }
.hero-emblem::before { content: ""; position: absolute; z-index: -1; width: 115%; height: 112%; border-radius: 50%; background: radial-gradient(ellipse, rgba(0,0,0,.48) 0%, rgba(0,0,0,.24) 38%, transparent 72%); filter: blur(12px); }
.hero-emblem img { width: min(330px, 100%); max-height: 165px; object-fit: contain; filter: drop-shadow(0 10px 13px rgba(0,0,0,.62)) drop-shadow(0 0 22px rgba(0,0,0,.35)); }
.welcome h1, .panel-heading h2, .dialog-heading h2, .empty-state h3 {
  font-family: Didot, "Bodoni MT", "Bodoni 72", Baskerville, "Palatino Linotype", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.015em;
}
.stat strong { font-family: "Avenir Next", Optima, "Segoe UI", Arial, sans-serif; font-weight: 550; letter-spacing: -.025em; }
.brand strong { font-family: Didot, "Bodoni MT", Baskerville, Georgia, serif; font-weight: 600; letter-spacing: .02em; }
.button-primary {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(216,235,255,.94));
  color: #173e9e;
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 14px 30px rgba(0, 20, 82, .24);
}
.button-primary:hover { background: white; color: #251497; }
.stat, .panel {
  background: linear-gradient(145deg, rgba(8, 36, 112, .70), rgba(34, 22, 112, .58));
  border-color: rgba(255,255,255,.15);
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
}
.stat-featured {
  background: linear-gradient(145deg, rgba(21, 143, 211, .82), rgba(45, 42, 180, .82));
  border: 1px solid rgba(255,255,255,.22);
}
.vat-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 25px; margin-bottom: 18px; overflow: hidden; position: relative; }
.vat-panel::after { content: "10"; position: absolute; right: 280px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,.035); font-family: Didot, Georgia, serif; font-size: 150px; line-height: 1; pointer-events: none; }
.vat-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-width: 0; }
.vat-heading h2 { margin: 5px 0 3px; font-family: Didot, "Bodoni MT", Georgia, serif; font-size: 25px; font-weight: 500; }
.vat-heading p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.vat-heading > strong { color: white; font-family: "Avenir Next", Optima, "Segoe UI", sans-serif; font-size: clamp(28px, 4vw, 40px); font-weight: 500; white-space: nowrap; }
.vat-period-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 5px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.055); }
.vat-period-selector button { min-width: 92px; padding: 9px 11px; border: 0; border-radius: 9px; color: rgba(255,255,255,.65); background: transparent; font-size: 11px; font-weight: 700; }
.vat-period-selector button.active { color: #183c97; background: linear-gradient(135deg, white, #d9edff); box-shadow: 0 6px 15px rgba(0,8,60,.22); }
.stat span, .stat small, .legend, .breakdown span, th, td.note-cell, .empty-state { color: var(--muted); }
.stat strong, .panel-heading h2, .breakdown strong, .empty-state h3, td { color: white; }
.week-alert { background: rgba(7, 26, 82, .68); border-color: rgba(255,255,255,.16); border-left-color: #d3a468; box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.week-alert p { color: var(--muted); }
.chart { border-color: rgba(255,255,255,.15); background-image: linear-gradient(to bottom, rgba(255,255,255,.11) 1px, transparent 1px); }
.bar { background: linear-gradient(#72ceff, #7e55ff); }
.donut::after { background: #172d86; }
.cash-dot { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.25); }
.search { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.15); }
.search input { background: transparent; color: white; }
.search input::placeholder { color: rgba(255,255,255,.48); }
.chart { padding-bottom: 11px; border-bottom-color: rgba(255,255,255,.18); }
.bar-group { gap: 11px; }
.bar-group small { color: rgba(255,255,255,.86); font-size: 12px; font-weight: 600; line-height: 1.15; }
.bar:hover::after { background: #071946; color: white; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 7px 16px rgba(0,0,0,.3); font-size: 13px; font-weight: 700; padding: 7px 10px; }
.history-filters { display: flex; align-items: center; gap: 9px; }
.date-filter { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(255,255,255,.07); color: var(--muted); font-size: 11px; font-weight: 700; }
.date-filter input { border: 0; outline: 0; background: transparent; color: white; color-scheme: dark; }
th, td { border-bottom-color: rgba(255,255,255,.11); }
.mini-button { background: rgba(117,187,255,.16); color: #d4ecff; }
.mini-button.delete { background: rgba(232,64,76,.17); color: #ffc2c7; }
dialog { color: white; background: linear-gradient(145deg, #102c79, #26166f); border: 1px solid rgba(255,255,255,.2); }
dialog::backdrop { background: rgba(0, 7, 38, .7); }
.profile-dialog { width: min(460px, calc(100% - 24px)); text-align: center; }
.profile-dialog form { padding: 34px; }
.profile-dialog h2 { margin: 7px 0 9px; font-family: Didot, "Bodoni MT", Baskerville, Georgia, serif; font-size: 29px; font-weight: 500; }
.profile-dialog form > p:not(.eyebrow):not(.form-error) { color: var(--muted); margin: 0 0 24px; }
.profile-dialog label { text-align: left; }
.profile-dialog label > input { width: 100%; margin-top: 7px; padding: 13px; color: white; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); border-radius: 11px; outline-color: #83c8ff; }
.profile-dialog .button { width: 100%; }
.profile-symbol { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 15px; border-radius: 50%; color: #d9eeff; font-size: 25px; background: radial-gradient(circle at 35% 30%, #54c9ff, #4633c8); box-shadow: 0 0 30px rgba(80,167,255,.38); }
.account-dialog { width: min(520px, calc(100% - 24px)); }
.account-avatar { width: 58px; height: 58px; display: grid; place-items: center; margin: -8px 0 20px; border-radius: 18px; font-size: 27px; background: linear-gradient(145deg, rgba(91,190,255,.3), rgba(111,73,255,.28)); border: 1px solid rgba(255,255,255,.16); }
.account-dialog label > input { width: 100%; margin-top: 7px; padding: 13px; color: white; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); border-radius: 11px; outline-color: #83c8ff; }
.account-dialog input[readonly] { color: rgba(255,255,255,.7); cursor: default; }
.password-hidden { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 7px; padding: 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(255,255,255,.05); letter-spacing: .15em; }
.password-hidden small { margin: 0; text-align: right; letter-spacing: 0; max-width: 260px; }
@media (max-width: 560px) { .password-hidden { display: block; } .password-hidden small { text-align: left; margin-top: 5px; } }
.icon-button { background: rgba(255,255,255,.1); color: white; }
label small { color: var(--muted); }
label > input[type="date"], textarea, .input-money { color: white; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.18); }
textarea::placeholder, .input-money input::placeholder { color: rgba(255,255,255,.4); }
.input-money input { color: white; background: transparent; }
.input-money span { color: rgba(255,255,255,.65); }
.input-disabled { background: rgba(255,255,255,.05); }
.toast { background: white; color: #173e9e; }
@media (max-width: 850px) {
  .welcome { grid-template-columns: 1fr auto; }
  .hero-emblem { grid-column: 1 / -1; grid-row: 1; margin-bottom: 8px; }
  .welcome > div:first-child { grid-column: 1; grid-row: 2; }
  .hero-actions { grid-column: 2; grid-row: 2; }
}
@media (max-width: 560px) {
  .brand-monogram { width: 43px; height: 43px; font-size: 15px; }
  .brand-monogram::after { display: none; }
  .brand span { display: none; }
  .welcome { display: grid; grid-template-columns: 1fr; text-align: center; }
  .hero-emblem { grid-column: 1; grid-row: 1; height: 135px; }
  .hero-emblem img { max-height: 130px; }
  .welcome > div:first-child { grid-column: 1; grid-row: 2; }
  .hero-actions { grid-column: 1; grid-row: 3; justify-self: stretch; margin-top: 22px; }
  .hero-actions > .button { margin-top: 0; }
  .history-filters { display: grid; grid-template-columns: 1fr; margin-top: 13px; }
  .date-filter, .search { width: 100%; }
  .vat-panel { grid-template-columns: 1fr; gap: 17px; }
  .vat-heading { align-items: end; }
  .vat-period-selector { grid-template-columns: repeat(4, 1fr); }
  .vat-period-selector button { min-width: 0; padding: 9px 4px; }
}

.auth-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-screen[hidden] { display: none; }
.auth-card { width: min(440px, 100%); padding: 38px; text-align: center; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; background: linear-gradient(145deg, rgba(8,36,112,.84), rgba(34,22,112,.78)); box-shadow: 0 30px 80px rgba(0,7,45,.38); backdrop-filter: blur(24px); }
.auth-card > img { width: min(300px, 85%); height: 145px; object-fit: contain; filter: drop-shadow(0 12px 20px rgba(0,0,0,.55)); }
.auth-card h1 { margin: 8px 0; font-family: Didot, "Bodoni MT", Baskerville, Georgia, serif; font-weight: 500; font-size: 34px; }
.auth-card > p:not(.eyebrow) { color: var(--muted); margin: 0 auto 25px; max-width: 330px; }
.auth-card form { text-align: left; }
.auth-card label { display: block; margin: 14px 0; font-size: 13px; font-weight: 700; }
.auth-card input { width: 100%; margin-top: 7px; padding: 13px; color: white; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); border-radius: 11px; outline-color: #83c8ff; }
.auth-card .button { width: 100%; margin-top: 4px; }
.auth-card .form-error { color: #ffd0d4; }
button:disabled { cursor: wait; opacity: .65; transform: none !important; }
@media (max-width: 700px) { #logoutButton { font-size: 0; padding: 10px; } #logoutButton::after { content: "Esci"; font-size: 11px; } }
@media (max-width: 560px) { .auth-card { padding: 28px 20px; } .auth-card > img { height: 120px; } }

/* Prestazioni e rifiniture responsive */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; }
body { background-attachment: scroll; }
.topbar { width: 100%; backdrop-filter: none; -webkit-backdrop-filter: none; }
.stat, .panel, .week-alert, .daily-pulse, .auth-card, .user-button, .button-quiet {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.stat, .panel { background: linear-gradient(145deg, rgba(8,36,112,.94), rgba(34,22,112,.91)); }
.week-alert { background: rgba(7,26,82,.94); }
.daily-pulse { background: linear-gradient(135deg, rgba(55,91,199,.95), rgba(50,39,155,.95)); }
dialog::backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
textarea { resize: none; }
.form-grid > label, dialog label { min-width: 0; }
label > input[type="date"], textarea, .input-money { min-width: 0; max-width: 100%; }
.daily-pulse > div:last-child { min-width: 0; text-align: left; }

.auth-card { width: min(820px, calc(100% - 32px)); display: grid; grid-template-columns: .95fr 1.05fr; gap: 44px; align-items: center; padding: 48px; text-align: left; background: linear-gradient(135deg, rgba(8,36,112,.97), rgba(36,23,120,.96)); }
.auth-intro { text-align: center; }
.auth-intro img { width: min(310px, 100%); height: 180px; object-fit: contain; filter: drop-shadow(0 12px 20px rgba(0,0,0,.4)); }
.auth-intro h1 { margin: 8px 0; font-family: Didot, "Bodoni MT", Baskerville, Georgia, serif; font-weight: 500; font-size: 34px; }
.auth-intro > p:not(.eyebrow) { color: var(--muted); margin: 0 auto; max-width: 320px; }
.auth-card form { padding-left: 42px; border-left: 1px solid rgba(255,255,255,.14); }

@media (max-width: 700px) {
  body { background-size: auto 100vh; background-position: center top; }
  .topbar { min-height: 76px; padding: 10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left)); }
  .top-actions { gap: 8px; margin-left: auto; }
  .brand { display: none; }
  .top-actions #userButton, .top-actions #exportButton, .top-actions #logoutButton {
    width: 52px; height: 52px; min-width: 52px; padding: 0; display: grid; place-items: center;
    border-radius: 14px; font-size: 0; margin: 0;
  }
  .top-actions #userButton span { font-size: 22px; }
  .top-actions #exportButton::after { content: "CSV"; font-size: 12px; }
  .top-actions #logoutButton::after { content: "Esci"; font-size: 12px; }
  .auth-screen { padding: 16px; }
  .auth-card { width: min(440px, 100%); display: block; padding: 26px 22px; text-align: center; }
  .auth-intro img { height: 118px; }
  .auth-intro h1 { font-size: 28px; }
  .auth-intro > p:not(.eyebrow) { margin-bottom: 20px; }
  .auth-card form { padding-left: 0; border-left: 0; text-align: left; }
  dialog { width: calc(100% - 24px); max-width: calc(100% - 24px); }
  dialog form { padding: 24px 20px; }
  #entryDate { width: 100%; min-height: 50px; }

  .history-panel .table-wrap { overflow: visible; }
  .history-panel table, .history-panel tbody, .history-panel tr, .history-panel td { display: block; width: 100%; }
  .history-panel thead { display: none; }
  .history-panel tbody { display: grid; gap: 13px; }
  .history-panel tr { padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.045); }
  .history-panel td { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.08); white-space: normal; text-align: right; }
  .history-panel td::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; text-align: left; }
  .history-panel td.note-cell { max-width: none; overflow: visible; text-overflow: clip; }
  .history-panel td:last-child { border-bottom: 0; }
  .history-panel .row-actions { justify-content: flex-end; flex-wrap: wrap; }
  .history-panel .mini-button { min-height: 38px; }
  .table-wrap::-webkit-scrollbar { display: none; }
  .daily-pulse { width: 100%; justify-content: flex-start; }
  .daily-pulse > div:last-child { flex: 1; }
}

@media (max-width: 380px) {
  .top-actions #userButton, .top-actions #exportButton, .top-actions #logoutButton { width: 48px; height: 48px; min-width: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* Rifiniture mobile v9 */
.summary-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(143,205,255,.26);
  background:
    radial-gradient(circle at 92% 8%, rgba(95,68,255,.28), transparent 38%),
    linear-gradient(145deg, #0d327f, #24146f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 20px 44px rgba(1,8,54,.26);
}
.summary-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(115deg, rgba(255,255,255,.07), transparent 32%); }
.summary-panel .panel-heading { position: relative; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.11); }
.summary-panel .donut { border: 1px solid rgba(145,211,255,.28); box-shadow: inset 0 0 25px rgba(8,25,106,.28), 0 18px 34px rgba(0,8,55,.3); }
.summary-panel .breakdown p { padding: 10px 12px; border-radius: 11px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); }
.summary-panel .breakdown strong { font-variant-numeric: tabular-nums; }

.bar { transform-origin: center bottom; transition: transform .24s cubic-bezier(.2,.8,.2,1), filter .24s ease, box-shadow .24s ease; touch-action: manipulation; }
.bar:hover, .bar.is-active { transform: translateY(-5px) scaleX(1.08) scaleY(1.035); filter: brightness(1.16) saturate(1.08); box-shadow: 0 13px 24px rgba(60,126,255,.33); }
.bar.is-active::after { content: attr(data-value); position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); background: #071946; color: white; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; padding: 6px 9px; white-space: nowrap; font-size: 12px; font-weight: 700; z-index: 3; }
.vat-panel::after { display: none; }
.vat-panel .eyebrow { white-space: nowrap; }

dialog { overflow-x: hidden; }
dialog form { width: 100%; max-width: 100%; overflow-x: hidden; }

@media (max-width: 700px) {
  .topbar {
    min-height: calc(76px + env(safe-area-inset-top));
    padding-top: calc(10px + env(safe-area-inset-top));
  }
  .auth-screen { padding-top: calc(16px + env(safe-area-inset-top)); }
  dialog {
    margin-top: max(12px, env(safe-area-inset-top));
    max-height: calc(100dvh - env(safe-area-inset-top) - 20px);
    overscroll-behavior-x: none;
  }
  dialog form, dialog .form-grid, dialog label, dialog .input-money, dialog input, dialog textarea {
    width: 100%; max-width: 100%; min-width: 0;
  }
  .vat-panel .eyebrow { font-size: 9px; letter-spacing: .1em; }
  .stats { position: relative; isolation: isolate; }
  .stats .stat { position: relative; overflow: hidden; isolation: isolate; }
  .stats .stat::before {
    content: ""; position: absolute; z-index: -1; inset: 0;
    background-image: url("logo-su-scuro.png");
    background-repeat: no-repeat;
    background-size: 200% 200%;
    opacity: .12;
    filter: saturate(.85) contrast(1.08);
    pointer-events: none;
  }
  .stats .stat:nth-child(1)::before { background-position: left top; }
  .stats .stat:nth-child(2)::before { background-position: right top; }
  .stats .stat:nth-child(3)::before { background-position: left bottom; }
  .stats .stat:nth-child(4)::before { background-position: right bottom; }
  .stats .stat-featured::after { display: none; }
}

@media (max-width: 390px) {
  .vat-panel .eyebrow { font-size: 8px; letter-spacing: .07em; }
}

/* Esperienza v10 */
.chart-panel { overflow: hidden; background: radial-gradient(circle at 50% 120%, rgba(95,82,255,.28), transparent 55%), linear-gradient(145deg,#092f79,#20136d); }
.chart { position: relative; height: 230px; padding: 28px 8px 12px; background-image: linear-gradient(to bottom,rgba(255,255,255,.075) 1px,transparent 1px); background-size:100% 25%; }
.trend-line { position:absolute; inset:28px 4.5% 34px; width:91%; height:calc(100% - 62px); overflow:visible; z-index:0; filter:drop-shadow(0 0 7px rgba(83,210,255,.7)); }
.trend-line polyline { fill:none; stroke:url(#lineGlow); stroke-width:1.7; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:400; animation:drawTrend 1.15s ease both; }
@keyframes drawTrend { from { stroke-dashoffset:400; } to { stroke-dashoffset:0; } }
.bar-group { position:relative; z-index:1; }
.bar { position:relative; border-radius:18px 18px 7px 7px; background:linear-gradient(180deg,rgba(111,224,255,.9),#6e65ff 72%,#9a4dff); box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 9px 26px rgba(61,93,255,.38); animation:riseBar .65s cubic-bezier(.18,.8,.28,1) both; animation-delay:var(--delay); }
.bar i { position:absolute; inset:5px 7px auto; height:32%; border-radius:12px; background:linear-gradient(rgba(255,255,255,.28),transparent); pointer-events:none; }
@keyframes riseBar { from { transform:scaleY(.05); opacity:.25; } to { transform:scaleY(1); opacity:1; } }
.donut { --card-share:0%; position:relative; background:conic-gradient(from -35deg,#59d9ff 0 var(--card-share),#7864ff var(--card-share) 100%) !important; box-shadow:inset 0 0 0 18px rgba(3,22,88,.38),0 0 34px rgba(76,113,255,.28) !important; transition:background .45s ease,transform .45s ease; }
.donut::after { content:""; position:absolute; inset:30%; border-radius:50%; background:linear-gradient(145deg,#123682,#21156d); box-shadow:inset 0 1px 5px rgba(255,255,255,.12); }
.donut:hover { transform:rotate(3deg) scale(1.035); }
.pie-value { z-index:2; }
.split-selector { display:flex; gap:5px; position:relative; z-index:2; }
.split-selector button { width:30px; height:30px; border-radius:50%; border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.65); background:rgba(255,255,255,.06); cursor:pointer; font-weight:800; }
.split-selector button.active { color:#082b72; background:#8bdcff; box-shadow:0 0 18px rgba(91,211,255,.42); }
.unknown-split { display:flex; gap:12px; align-items:flex-start; padding:13px 14px; margin:4px 0 14px; border:1px solid rgba(125,209,255,.3); border-radius:13px; background:rgba(61,133,255,.1); }
.unknown-split input { width:19px; height:19px; flex:0 0 auto; accent-color:#61cfff; }
.unknown-split span,.unknown-split small { display:block; }
.unknown-split small { margin-top:3px; color:var(--muted); font-weight:400; }
.entry-date-label { width:100%; max-width:100%; overflow:hidden; }
#entryDate { box-sizing:border-box; width:100%; max-width:100%; }
dialog, dialog form { scrollbar-width:none; }
dialog::-webkit-scrollbar, dialog form::-webkit-scrollbar { width:0; height:0; display:none; }

@media (max-width:700px) {
  .summary-panel { display:block !important; }
  .donut-wrap { grid-template-columns:130px minmax(0,1fr); gap:12px; }
  .donut { width:130px; height:130px; }
  .stats .stat::before { content:""; position:absolute; z-index:-1; inset:0; background-image:url("gelateria-four-cards.jpg") !important; background-repeat:no-repeat !important; background-size:200% 200% !important; opacity:.19; filter:saturate(.9) contrast(1.05); }
  .stats .stat:nth-child(1)::before { background-position:left top !important; }
  .stats .stat:nth-child(2)::before { background-position:right top !important; }
  .stats .stat:nth-child(3)::before { background-position:left bottom !important; }
  .stats .stat:nth-child(4)::before { background-position:right bottom !important; }
  #entryDialog { scrollbar-width:none; }
  #entryDialog::-webkit-scrollbar { display:none; }
  .entry-date-label,#entryDate { width:100% !important; max-width:100% !important; min-width:0 !important; }
}

/* Desktop v44: nessuna regola di questo blocco raggiunge la versione telefono. */
@media (min-width:701px) {
  html, body { overflow-y:auto !important; overscroll-behavior-y:auto !important; }
  body:not(.modal-open) { position:static !important; top:auto !important; }

  /* Insegna LED riservata ai monitor: luce continua, fluida e senza scatti. */
  .hero-emblem { overflow:visible !important; contain:none !important; }
  .hero-emblem img {
    filter:drop-shadow(0 0 2px rgba(255,255,255,.98)) drop-shadow(0 0 9px rgba(66,220,255,.92)) drop-shadow(0 0 25px rgba(113,73,255,.78)) brightness(1.1) saturate(1.08) !important;
    animation:desktopNeonLogo 3.8s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
    transform:translate3d(0,0,0);
    will-change:transform,opacity;
  }
  .hero-emblem::before {
    width:132% !important;
    height:128% !important;
    background:radial-gradient(ellipse,rgba(70,218,255,.28) 0%,rgba(91,79,255,.20) 37%,rgba(73,40,220,.08) 56%,transparent 72%) !important;
    filter:blur(18px) !important;
    animation:desktopNeonAura 3.8s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
    transform:translate3d(0,0,0);
    will-change:transform,opacity;
  }
  @keyframes desktopNeonLogo {
    0% { opacity:.78; transform:translate3d(0,0,0) scale(.992); }
    42% { opacity:.91; }
    100% { opacity:1; transform:translate3d(0,0,0) scale(1.006); }
  }
  @keyframes desktopNeonAura {
    0% { opacity:.28; transform:translate3d(0,0,0) scale(.96); }
    100% { opacity:.88; transform:translate3d(0,0,0) scale(1.035); }
  }

  /* Sostituisce GELATE/RIA/ALLA/SCALA con una firma luminosa astratta,
     confinata nell'angolo vuoto e sempre dietro ai dati. */
  .stats-sign { display:none !important; }
  .stats .stat::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:auto -34px -48px auto !important;
    width:126px !important;
    height:126px !important;
    border:1px solid rgba(117,215,255,.20) !important;
    border-radius:50% !important;
    background:radial-gradient(circle at 35% 32%,rgba(76,219,255,.18),rgba(91,91,255,.08) 42%,transparent 70%) !important;
    box-shadow:0 0 32px rgba(68,144,255,.12),inset 0 0 22px rgba(143,91,255,.08) !important;
    opacity:1 !important;
    filter:none !important;
    pointer-events:none;
    z-index:0 !important;
  }
  .stats .stat:nth-of-type(2)::before,
  .stats .stat:nth-of-type(4)::before {
    border-color:rgba(181,113,255,.19) !important;
    background:radial-gradient(circle at 35% 32%,rgba(163,93,255,.17),rgba(48,142,255,.07) 44%,transparent 70%) !important;
  }
  .stats .stat > * { position:relative; z-index:2; }
}

/* Rifiniture v20 */
/* Carta e Contanti su righe separate, senza alcun segno divisorio */
#todayDetail { white-space:pre-line; }

/* Andamento: punti nelle coordinate globali del grafico e massimo al 90% */
.trend-line .trend-dot {
  fill:#dffaff;
  stroke:#66dfff;
  stroke-width:1.4;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 4px rgba(86,218,255,.9));
}

/* Neon a trasformazioni GPU: continuo, definito e leggero anche su telefono */
.hero-emblem img {
  animation:neonLedLogo 3.6s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.hero-emblem::before {
  animation:neonLedAura 3.6s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.hero-emblem::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:min(360px,94%);
  height:78%;
  border-radius:50%;
  border:1px solid rgba(121,225,255,.2);
  box-shadow:0 0 10px rgba(76,211,255,.18),inset 0 0 16px rgba(115,83,255,.12);
  opacity:.35;
  transform:translate3d(0,0,0) scale(.97);
  animation:neonLedRing 3.6s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  pointer-events:none;
}
@keyframes neonLedLogo {
  0% { opacity:.88; transform:translate3d(0,0,0) scale(.996); filter:drop-shadow(0 0 2px rgba(239,253,255,.95)) drop-shadow(0 0 8px rgba(65,214,255,.62)) drop-shadow(0 0 18px rgba(92,70,255,.44)) brightness(1.03); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1.006); filter:drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 14px rgba(65,214,255,.92)) drop-shadow(0 0 30px rgba(109,68,255,.76)) brightness(1.15); }
}
@keyframes neonLedAura { from{opacity:.34;transform:translate3d(0,0,0) scale(.985)} to{opacity:.86;transform:translate3d(0,0,0) scale(1.035)} }
@keyframes neonLedRing { from{opacity:.18;transform:translate3d(0,0,0) scale(.97)} to{opacity:.6;transform:translate3d(0,0,0) scale(1.025)} }

/* Intestazione mobile più compatta e lussuosa */
@media (max-width:700px) {
  .topbar {
    min-height:78px;
    padding:11px max(12px,env(safe-area-inset-right)) 11px max(12px,env(safe-area-inset-left));
    background:linear-gradient(112deg,rgba(3,24,80,.96),rgba(12,43,120,.92) 52%,rgba(31,24,111,.94));
    border-bottom:1px solid rgba(133,220,255,.34);
    box-shadow:0 12px 35px rgba(0,8,54,.32),inset 0 1px 0 rgba(255,255,255,.1);
  }
  .topbar::after {
    content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:1px;
    background:linear-gradient(90deg,transparent,#75dfff 28%,#a986ff 72%,transparent);
    opacity:.8;
  }
  .topbar .brand { gap:10px; min-width:112px; }
  .topbar .brand .brand-monogram {
    width:46px;height:46px;flex-basis:46px;font-size:16px;
    border:1px solid rgba(191,239,255,.58);
    background:radial-gradient(circle at 34% 25%,rgba(101,211,255,.32),rgba(17,47,128,.38) 48%,rgba(14,23,93,.74));
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.04),inset 0 0 18px rgba(79,189,255,.2),0 0 0 4px rgba(98,171,255,.06),0 9px 23px rgba(0,5,44,.3);
  }
  .topbar .brand strong::after { content:"Scala";font-family:Didot,"Bodoni MT",Georgia,serif;font-size:17px;letter-spacing:.02em; }
  .topbar .brand small { margin-top:2px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:rgba(210,235,255,.66); }
  .top-actions { gap:6px; }
  .top-actions #userButton,.top-actions #exportButton,.top-actions #logoutButton {
    width:44px;height:44px;min-width:44px;padding:0;border-radius:14px;
    border:1px solid rgba(185,230,255,.22);
    background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(0,7,49,.2);
  }
  .top-actions #userButton span { font-size:18px;filter:saturate(.7); }
  .top-actions #exportButton::after,.top-actions #logoutButton::after { font-size:9px;letter-spacing:.05em;text-transform:uppercase; }
  .hero-emblem::after { width:90%;height:72%; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-emblem img,.hero-emblem::before,.hero-emblem::after { animation:none !important; }
}
@media (max-width:390px) {
  .donut-wrap { grid-template-columns:112px minmax(0,1fr); }
  .donut { width:112px; height:112px; }
}

/* Correzioni v21 */
/* Neon fluido: ombre fisse, animazione affidata esclusivamente alla GPU */
.hero-emblem::after { display:none !important; content:none !important; }
.hero-emblem img {
  filter:drop-shadow(0 0 3px rgba(245,254,255,.98)) drop-shadow(0 0 11px rgba(67,215,255,.86)) drop-shadow(0 0 25px rgba(101,68,255,.68)) brightness(1.12) saturate(1.06) !important;
  animation:neonSmoothV21 2.8s cubic-bezier(.37,0,.63,1) infinite alternate !important;
  will-change:transform,opacity;
}
.hero-emblem::before {
  filter:blur(15px) !important;
  animation:neonAuraSmoothV21 2.8s cubic-bezier(.37,0,.63,1) infinite alternate !important;
  will-change:transform,opacity;
}
@keyframes neonSmoothV21 { from{opacity:.84;transform:translate3d(0,0,0) scale(.996)} to{opacity:1;transform:translate3d(0,0,0) scale(1.004)} }
@keyframes neonAuraSmoothV21 { from{opacity:.3;transform:translate3d(0,0,0) scale(.99)} to{opacity:.76;transform:translate3d(0,0,0) scale(1.025)} }

/* Barra, pallino e tooltip non si separano più al tocco */
.bar[data-open="true"] { transform:scaleY(1) !important; filter:brightness(1.09) !important; }
.trend-line { z-index:3 !important; }
.bar-group { z-index:2; }
.trend-line .trend-curve { stroke-width:2.25 !important; opacity:1 !important; }
.trend-line .trend-halo { stroke-width:7 !important; opacity:.82; }
.trend-line .trend-dot { r:3.4px; }

/* Evidenza immediata degli importi non validi */
.input-money input:invalid { border-color:#ff9aa9 !important; box-shadow:0 0 0 3px rgba(255,92,118,.12) !important; }

@media (prefers-reduced-motion:reduce) {
  .hero-emblem img,.hero-emblem::before { animation:none !important; }
}

/* Interazioni e grafici v11 */
.stats { position:relative; isolation:isolate; }
.stats-sign { position:absolute; inset:0; z-index:0; display:flex; align-items:center; justify-content:space-around; overflow:hidden; pointer-events:none; color:rgba(132,207,255,.16); font-family:"Bodoni MT",Didot,Georgia,serif; font-size:clamp(35px,4.3vw,70px); font-weight:700; letter-spacing:.08em; text-shadow:0 0 24px rgba(38,155,255,.2); white-space:nowrap; }
.stats-sign span { color:inherit; font:inherit; }
.stats .stat { position:relative; z-index:1; overflow:hidden; background:linear-gradient(145deg,rgba(8,36,112,.87),rgba(34,22,112,.85)); }
.stats .stat::before { display:none !important; }
.stats .stat > * { position:relative; z-index:2; }

.split-stack { --card-share:50%; --cash-share:50%; min-height:230px; padding:18px 18px 34px; display:flex; flex-direction:column; justify-content:center; gap:15px; perspective:700px; }
.split-block { position:relative; min-height:72px; padding:17px 20px; border-radius:10px 15px 10px 12px; transform:rotateX(55deg) rotateZ(-2deg); transform-origin:center; box-shadow:0 20px 22px rgba(0,5,45,.34),inset 0 1px 0 rgba(255,255,255,.35); transition:width .65s cubic-bezier(.18,.82,.24,1),transform .35s ease,filter .35s ease; }
.split-block::before { content:""; position:absolute; left:5px; right:-8px; bottom:-12px; height:15px; border-radius:0 0 8px 8px; filter:brightness(.66); background:inherit; clip-path:polygon(0 0,94% 0,100% 35%,100% 100%,4% 100%,0 64%); }
.split-block::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(105deg,rgba(255,255,255,.2),transparent 36%,rgba(255,255,255,.05)); pointer-events:none; }
.split-block span,.split-block strong { position:relative; z-index:2; display:block; color:white; }
.split-block span { font-size:13px; font-weight:750; }
.split-block strong { margin-top:4px; font-size:18px; }
.card-block { width:var(--card-share); min-width:46%; background:linear-gradient(95deg,#10bde9,#367bff 58%,#6854ff); }
.cash-block { width:var(--cash-share); min-width:46%; margin-left:auto; background:linear-gradient(95deg,#6657ef,#9a47db 58%,#d244a7); }
.split-block:hover { transform:rotateX(48deg) rotateZ(0) translateY(-4px); filter:brightness(1.1); }

.trend-line { z-index:2; pointer-events:none; }
.trend-line path { fill:none; stroke:url(#lineGlow); stroke-width:2.2; vector-effect:non-scaling-stroke; stroke-linecap:round; filter:drop-shadow(0 0 4px rgba(85,216,255,.9)); stroke-dasharray:500; stroke-dashoffset:500; }
.trend-line circle { fill:#d7f7ff; stroke:#4ecfff; stroke-width:.75; vector-effect:non-scaling-stroke; opacity:0; transform-box:fill-box; transform-origin:center; }
.bar { animation:none; transform:scaleY(.04); opacity:.15; }
.chart-animate .bar { animation:riseBar .75s cubic-bezier(.15,.82,.22,1) both; animation-delay:var(--delay); }
.chart-animate .trend-line path { animation:drawTrend 1.05s .28s cubic-bezier(.25,.7,.2,1) forwards; }
.chart-animate .trend-line circle { animation:popDot .32s ease-out forwards; animation-delay:calc(.44s + var(--dot-delay)); }
@keyframes popDot { from{opacity:0;transform:scale(.2)} to{opacity:1;transform:scale(1)} }
.bar.is-active { transform:translateY(-5px) scaleX(1.06) scaleY(1.02); filter:brightness(1.16); box-shadow:0 14px 28px rgba(60,126,255,.42); }
@media (hover:hover) and (pointer:fine) { .bar:hover { transform:translateY(-5px) scaleX(1.06) scaleY(1.02); filter:brightness(1.16); box-shadow:0 14px 28px rgba(60,126,255,.42); } }
@media (hover:none) { .bar:hover:not(.is-active) { transform:scaleY(1); filter:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 9px 26px rgba(61,93,255,.38); } }

.vat-period-selector button { transition:background .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease; }
.vat-period-selector button.active { transform:translateY(-2px); box-shadow:0 7px 18px rgba(63,184,255,.28); }
.entry-date-label { padding-right:1px; overflow:visible !important; }
#entryDate { display:block; inline-size:calc(100% - 1px) !important; max-inline-size:calc(100% - 1px) !important; border-radius:11px !important; overflow:visible; }

@media (max-width:700px) {
  .chart-panel .panel-heading h2 { font-family:"Avenir Next","Segoe UI",Arial,sans-serif; font-size:29px; font-weight:620; letter-spacing:-.03em; }
  .bar-group small { font-family:"Avenir Next","Segoe UI",Arial,sans-serif; font-weight:650; font-size:12px; letter-spacing:-.01em; }
  .stats-sign { inset:6px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; font-size:clamp(31px,10vw,47px); line-height:.82; text-align:center; white-space:normal; opacity:.85; }
  .stats-sign span:nth-child(1) { grid-column:1 / 3; align-self:start; margin-top:28px; letter-spacing:.13em; }
  .stats-sign span:nth-child(2) { align-self:end; margin-bottom:34px; }
  .stats-sign span:nth-child(3) { align-self:end; margin-bottom:34px; }
  .stats .stat { background:linear-gradient(145deg,rgba(8,36,112,.82),rgba(34,22,112,.8)); }
  .split-stack { min-height:205px; padding-inline:5px; }
  .split-block { min-height:66px; }
  .entry-date-label { width:100% !important; padding-right:2px; }
  #entryDate { width:calc(100% - 2px) !important; max-width:calc(100% - 2px) !important; min-width:0 !important; appearance:none; -webkit-appearance:none; }
}

/* Correzioni v12 */
body.modal-open { overflow:hidden !important; overscroll-behavior:none; }
.stat-featured::after { display:none !important; }
.stats-sign { display:none !important; }
.stats .stat::before { display:flex !important; align-items:center; justify-content:center; inset:0 !important; position:absolute; z-index:0; color:rgba(122,207,255,.27); font-family:"Bodoni MT",Didot,Georgia,serif; font-size:clamp(30px,3.2vw,51px); font-weight:700; letter-spacing:.06em; text-shadow:0 0 22px rgba(53,174,255,.25); background:none !important; opacity:1; filter:none; white-space:nowrap; }
.stats .stat:nth-of-type(1)::before { content:"GELATE"; }
.stats .stat:nth-of-type(2)::before { content:"RIA"; }
.stats .stat:nth-of-type(3)::before { content:"ALLA"; }
.stats .stat:nth-of-type(4)::before { content:"SCALA"; }
.stats .stat > * { text-shadow:0 2px 8px rgba(3,13,64,.65); }

.split-stack { min-height:250px; padding:28px 18px 38px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; perspective:850px; }
.split-block { width:min(88%,390px) !important; min-width:0; min-height:82px; margin:0 !important; padding:18px 24px 20px; border-radius:8px; transform:rotateX(52deg) rotateZ(-3deg); transform-origin:center; box-shadow:0 19px 21px rgba(0,5,45,.32),inset 0 1px 0 rgba(255,255,255,.32); transition:transform .4s ease,filter .4s ease; overflow:visible; }
.split-block::before { left:7px; right:-10px; bottom:-13px; height:17px; border-radius:0 0 7px 7px; clip-path:polygon(0 0,95% 0,100% 35%,100% 100%,4% 100%,0 60%); }
.split-block::after { inset:0; background:linear-gradient(90deg,rgba(255,255,255,.15) 0 var(--layer-fill),rgba(3,17,88,.18) var(--layer-fill) 100%); }
.card-block { --layer-fill:var(--card-value); background:linear-gradient(95deg,#11bce8,#4478ff 68%,#6259f5); }
.cash-block { --layer-fill:var(--cash-value); background:linear-gradient(95deg,#6c5cf2,#9c49dc 66%,#ce45b0); }
.split-block span,.split-block strong { transform:rotateZ(3deg); }
.split-block:hover { transform:rotateX(47deg) rotateZ(-1deg) translateY(-3px); }

.trend-line { filter:drop-shadow(0 0 3px rgba(83,198,255,.36)); }
.trend-line path { animation:none; }
.trend-line .trend-area { fill:url(#areaGlow); stroke:none; opacity:0; }
.trend-line .trend-curve { fill:none; stroke:url(#lineGlow); stroke-width:1.45; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:500; stroke-dashoffset:500; filter:none; }
.chart-animate .trend-line path { animation:none; }
.chart-animate .trend-area { animation:fadeTrendArea .65s .45s ease-out forwards; }
.chart-animate .trend-curve { animation:drawTrend 1.05s .18s cubic-bezier(.25,.72,.2,1) forwards; }
@keyframes fadeTrendArea { from{opacity:0} to{opacity:1} }

dialog[open] { overscroll-behavior:contain; }

@media (max-width:700px) {
  .stats .stat::before { content:"" !important; display:block !important; background-image:url("gelateria-four-cards.jpg") !important; background-repeat:no-repeat !important; background-size:200% 200% !important; opacity:.22; filter:saturate(.92) contrast(1.05); }
  .stats .stat:nth-of-type(1)::before { background-position:left top !important; }
  .stats .stat:nth-of-type(2)::before { background-position:right top !important; }
  .stats .stat:nth-of-type(3)::before { background-position:left bottom !important; }
  .stats .stat:nth-of-type(4)::before { background-position:right bottom !important; }
  .split-stack { min-height:225px; padding:22px 4px 34px; }
  .split-block { width:88% !important; min-height:76px; padding:16px 19px 18px; }
}

/* Stabilizzazione e restyling v13 */
html.modal-open { overflow:hidden !important; overscroll-behavior:none; }
body.modal-open { position:fixed !important; left:0; right:0; width:100%; height:100%; overflow:hidden !important; touch-action:none; }
dialog[open], dialog[open] form { touch-action:pan-y; overscroll-behavior:contain; }

.mobile-entry-cell { display:none; }

/* Insegna discreta, collocata nella zona libera dei riepiloghi */
.stats .stat::before { align-items:flex-end; justify-content:flex-end; padding:0 17px 13px; font-size:clamp(20px,2.1vw,31px); color:rgba(120,210,255,.25); letter-spacing:.09em; text-shadow:0 0 16px rgba(57,180,255,.18); }
.stats .stat > * { text-shadow:0 2px 8px rgba(3,13,64,.65); }

/* Ripartizione premium: due schede pulite con indicatore proporzionale */
.split-stack { min-height:252px; padding:22px 12px; display:grid; align-content:center; gap:14px; perspective:none; }
.split-block { width:100% !important; min-height:82px; margin:0 !important; padding:18px 20px 17px 76px; border:1px solid rgba(255,255,255,.15); border-radius:18px; transform:none !important; overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 24px rgba(0,7,52,.18); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.split-block::before { content:""; position:absolute; left:18px; top:50%; width:42px; height:42px; transform:translateY(-50%); border-radius:13px; clip-path:none; filter:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 7px 15px rgba(0,8,65,.23); }
.split-block::after { content:""; position:absolute; left:76px; right:20px; bottom:13px; top:auto; height:4px; border-radius:99px; background:linear-gradient(90deg,rgba(255,255,255,.78) 0 var(--layer-fill),rgba(255,255,255,.14) var(--layer-fill) 100%); }
.card-block { --layer-fill:var(--card-value); background:linear-gradient(125deg,rgba(18,151,221,.32),rgba(44,83,202,.22)); }
.card-block::before { background:linear-gradient(145deg,#55e4ff,#3978ff); }
.cash-block { --layer-fill:var(--cash-value); background:linear-gradient(125deg,rgba(104,76,221,.31),rgba(177,55,171,.2)); }
.cash-block::before { background:linear-gradient(145deg,#a77aff,#dd4fae); }
.split-block span,.split-block strong { transform:none; }
.split-block span { font-size:12px; color:rgba(255,255,255,.72); }
.split-block strong { font-size:20px; margin-top:3px; }
@media (hover:hover) { .split-block:hover { transform:translateY(-2px) !important; border-color:rgba(126,218,255,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 16px 28px rgba(0,7,52,.24); } }

/* Andamento: linea completa e tooltip controllato solo dal click */
.trend-line { filter:none; opacity:1; }
.trend-line .trend-area { opacity:1; }
.trend-line .trend-curve { stroke-width:1.25; stroke-dasharray:none; stroke-dashoffset:0; opacity:1; filter:drop-shadow(0 0 2px rgba(70,194,255,.35)); }
.chart-animate .trend-area { animation:trendSoftIn .6s ease-out both; }
.chart-animate .trend-curve { animation:trendSoftIn .65s .08s ease-out both; }
@keyframes trendSoftIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.bar:hover,.bar.is-active,.bar[data-open="false"] { transform:scaleY(1); filter:none; }
.bar:hover::after,.bar.is-active::after { display:none !important; content:none !important; }
.bar[data-open="true"] { transform:translateY(-4px) scaleY(1) !important; filter:brightness(1.08) !important; }
.bar-tooltip { display:none; position:absolute; bottom:calc(100% + 9px); left:50%; transform:translateX(-50%); z-index:8; padding:6px 9px; border:1px solid rgba(118,211,255,.35); border-radius:9px; background:#071b51; color:white; font-size:11px; font-weight:750; line-height:1; white-space:nowrap; box-shadow:0 9px 18px rgba(0,5,40,.3); pointer-events:none; }
.bar[data-open="true"] .bar-tooltip { display:block; animation:tooltipIn .16s ease-out both; }
@keyframes tooltipIn { from{opacity:0;transform:translate(-50%,5px) scale(.96)} to{opacity:1;transform:translate(-50%,0) scale(1)} }

@media (max-width:700px) {
  /* L'insegna prosegue verticalmente lungo le due colonne */
  .stats .stat::before { display:flex !important; content:""; background:none !important; opacity:1; filter:none; writing-mode:vertical-rl; text-orientation:mixed; align-items:flex-end; justify-content:flex-end; padding:11px 8px; font-size:22px; letter-spacing:.12em; color:rgba(126,214,255,.25); }
  .stats .stat:nth-of-type(1)::before { content:"GELA" !important; }
  .stats .stat:nth-of-type(3)::before { content:"TERIA" !important; }
  .stats .stat:nth-of-type(2)::before { content:"ALLA" !important; }
  .stats .stat:nth-of-type(4)::before { content:"SCALA" !important; }

  .topbar .brand { display:flex; min-width:78px; gap:7px; }
  .topbar .brand .brand-monogram { display:grid; width:42px; height:42px; flex:0 0 42px; }
  .topbar .brand > span:last-child { display:block; }
  .topbar .brand strong { display:block; font-size:0; }
  .topbar .brand strong::after { content:"Scala"; font-size:14px; }
  .topbar .brand small { display:block; font-size:9px; }
  .top-actions { margin-left:auto; }

  .split-stack { min-height:230px; padding:18px 0; gap:11px; }
  .split-block { min-height:76px; padding:15px 15px 15px 66px; }
  .split-block::before { left:14px; width:38px; height:38px; }
  .split-block::after { left:66px; right:15px; bottom:11px; }

  .history-panel tr { padding:0 !important; overflow:hidden; }
  .history-panel .desktop-entry-cell { display:none !important; }
  .history-panel .mobile-entry-cell { display:block !important; padding:0 !important; border:0 !important; }
  .history-panel .mobile-entry-cell::before { display:none !important; content:none !important; }
  .mobile-entry-toggle { width:100%; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; border:0; color:white; background:transparent; text-align:left; }
  .mobile-entry-toggle span { display:flex; flex-direction:column; gap:5px; }
  .mobile-entry-toggle small { color:var(--muted); font-size:11px; font-weight:700; text-transform:capitalize; }
  .mobile-entry-toggle strong { font-size:19px; font-family:"Avenir Next","Segoe UI",Arial,sans-serif; }
  .mobile-entry-toggle i { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.14); border-radius:50%; color:#8edcff; font-style:normal; font-size:21px; transition:transform .22s ease,background .22s ease; }
  .mobile-entry-toggle[aria-expanded="true"] i { transform:rotate(180deg); background:rgba(94,194,255,.12); }
  .mobile-entry-details { padding:0 15px 15px; border-top:1px solid rgba(255,255,255,.08); animation:detailsIn .22s ease-out both; }
  .mobile-entry-details[hidden] { display:none !important; }
  .mobile-entry-details dl { margin:7px 0 13px; }
  .mobile-entry-details dl div { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.07); }
  .mobile-entry-details dt { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
  .mobile-entry-details dd { margin:0; color:white; text-align:right; }
  .mobile-entry-details .row-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .mobile-entry-details .mini-button { width:100%; }
  @keyframes detailsIn { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:translateY(0)} }
}

@media (max-width:390px) {
  .topbar .brand > span:last-child { display:none; }
  .topbar .brand { min-width:42px; }
}

/* Rifiniture v14 */
.password-field { position:relative; display:block; }
.password-field input { padding-right:40px; }
.password-field button { position:absolute; right:11px; bottom:10px; width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; border-radius:0; color:#c7eaff; background:transparent; box-shadow:none; cursor:pointer; }
.password-field button:hover,.password-field button:focus-visible { color:#fff; background:transparent; box-shadow:none; }
.password-field button span { position:relative; width:16px; height:10px; display:grid; place-items:center; overflow:hidden; border:1.5px solid currentColor; border-radius:70% 10%; transform:rotate(45deg); font-size:0; line-height:1; }
.password-field button span::after { content:""; width:4px; height:4px; border-radius:50%; background:currentColor; transform:rotate(-45deg); }
.password-field button[aria-pressed="false"] span::before { content:""; position:absolute; width:19px; height:1.5px; border-radius:2px; background:currentColor; transform:rotate(-45deg); box-shadow:0 0 0 1.5px rgba(19,41,119,.9); }

/* Nessun alone LED durante il cambio periodo */
.vat-period-selector button.active,.split-selector button.active { box-shadow:none !important; }

/* Ripartizione: grafico circolare con dettaglio laterale */
.split-stack { position:relative; min-height:252px; display:grid; grid-template-columns:minmax(145px,42%) 1fr; grid-template-rows:1fr 1fr; align-items:center; gap:13px 22px; padding:24px 18px 24px 20px; }
.split-stack::before { content:""; grid-row:1 / 3; grid-column:1; justify-self:center; width:min(155px,100%); aspect-ratio:1; border-radius:50%; background:conic-gradient(from -90deg,#47d7ff 0 var(--card-value),rgba(116,79,232,.84) var(--card-value) 100%); border:1px solid rgba(255,255,255,.22); box-shadow:inset 0 0 0 15px rgba(8,29,100,.25),0 18px 35px rgba(0,7,50,.24); }
.split-stack::after { content:""; position:absolute; left:calc(21% - 43px); top:50%; width:86px; aspect-ratio:1; border-radius:50%; transform:translateY(-50%); background:linear-gradient(145deg,#102d82,#21176d); border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 2px 12px rgba(0,4,42,.35); pointer-events:none; }
.split-block { grid-column:2; width:100% !important; min-height:76px; padding:16px 18px 16px 58px; border-radius:15px; transform:none !important; }
.split-block::before { left:14px; width:32px; height:32px; border-radius:10px; }
.split-block::after { left:58px; right:16px; bottom:10px; height:3px; }
.card-block { grid-row:1; }
.cash-block { grid-row:2; }

/* Andamento lineare, senza onde artificiali */
.trend-line .trend-curve { stroke-width:1.45; stroke-linejoin:round; stroke-linecap:round; filter:drop-shadow(0 0 2px rgba(76,205,255,.42)); }
.trend-line .trend-area { opacity:.55; }

/* Registro compatto ed espandibile anche su computer */
.history-panel table,.history-panel tbody { display:block; width:100%; }
.history-panel thead,.history-panel .desktop-entry-cell { display:none !important; }
.history-panel tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.history-panel tr { display:block; width:100%; padding:0 !important; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(255,255,255,.045); }
.history-panel .mobile-entry-cell { display:block !important; padding:0 !important; border:0 !important; }
.history-panel .mobile-entry-cell::before { display:none !important; content:none !important; }
.mobile-entry-toggle { width:100%; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; border:0; color:white; background:transparent; text-align:left; }
.mobile-entry-toggle span { display:flex; flex-direction:column; gap:5px; }
/* Data più importante, importo più discreto */
.mobile-entry-toggle small { color:#fff; font-family:"Bodoni MT",Didot,Georgia,serif; font-size:17px; font-weight:650; text-transform:capitalize; }
.mobile-entry-toggle strong { color:var(--muted); font-family:"Avenir Next","Segoe UI",Arial,sans-serif; font-size:13px; font-weight:650; }
.mobile-entry-toggle i { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.14); border-radius:50%; color:#8edcff; font-style:normal; font-size:21px; transition:transform .22s ease,background .22s ease; }
.mobile-entry-toggle[aria-expanded="true"] i { transform:rotate(180deg); background:rgba(94,194,255,.12); }
.mobile-entry-details { padding:0 17px 16px; border-top:1px solid rgba(255,255,255,.08); animation:detailsIn .22s ease-out both; }
.mobile-entry-details[hidden] { display:none !important; }
.mobile-entry-details dl { margin:7px 0 13px; }
.mobile-entry-details dl div { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.mobile-entry-details dt { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.mobile-entry-details dd { margin:0; color:white; text-align:right; }
.mobile-entry-details .row-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mobile-entry-details .mini-button { width:100%; }

@media (min-width:701px) {
  .stats .stat::before { max-width:45%; text-align:right; line-height:.9; overflow-wrap:anywhere; }
}

@media (max-width:700px) {
  /* Lettere singole in colonna, ristrette al margine libero */
  .stats .stat::before { writing-mode:horizontal-tb; text-orientation:mixed; width:1ch; right:9px; left:auto !important; top:50%; bottom:auto; transform:translateY(-50%); padding:0; align-items:center; justify-content:center; overflow-wrap:anywhere; word-break:break-all; white-space:normal; font-size:16px; line-height:.78; letter-spacing:0; color:rgba(127,213,255,.21); }
  .stats .stat:nth-of-type(1)::before { content:"GELA" !important; }
  .stats .stat:nth-of-type(3)::before { content:"TERIA" !important; }
  .stats .stat:nth-of-type(2)::before { content:"ALLA" !important; }
  .stats .stat:nth-of-type(4)::before { content:"SCALA" !important; }

  .split-stack { min-height:300px; grid-template-columns:130px 1fr; padding:18px 10px; gap:11px 13px; }
  .split-stack::before { width:124px; }
  .split-stack::after { left:72px; width:68px; }
  .split-block { min-height:78px; padding:15px 12px 15px 49px; }
  .split-block::before { left:10px; width:29px; height:29px; }
  .split-block::after { left:49px; right:12px; }

  .history-panel tbody { grid-template-columns:1fr; }
}

/* Restyling mobile v16 */
.greeting-cone { top:8px; }

/* Logo centrale come insegna al neon, con accensione morbida */
.hero-emblem img { animation:neonLogo 6.4s ease-in-out infinite; }
.hero-emblem::before { animation:neonAura 6.4s ease-in-out infinite; }
@keyframes neonLogo {
  0%,12% { opacity:.68; filter:drop-shadow(0 8px 12px rgba(0,0,0,.58)) brightness(.78) saturate(.82); }
  14% { opacity:.9; filter:drop-shadow(0 0 7px rgba(75,205,255,.5)) brightness(1.03); }
  16% { opacity:.72; filter:drop-shadow(0 8px 12px rgba(0,0,0,.5)) brightness(.84); }
  19%,72% { opacity:1; filter:drop-shadow(0 0 8px rgba(82,221,255,.75)) drop-shadow(0 0 22px rgba(90,91,255,.62)) brightness(1.12) saturate(1.08); }
  75% { opacity:.82; filter:drop-shadow(0 0 5px rgba(82,221,255,.4)) brightness(.9); }
  78%,100% { opacity:1; filter:drop-shadow(0 0 8px rgba(82,221,255,.7)) drop-shadow(0 0 21px rgba(112,74,255,.56)) brightness(1.08); }
}
@keyframes neonAura { 0%,16%,75% { opacity:.45; } 20%,72%,78%,100% { opacity:1; } }

/* Linea premium: curva monotona con alone sottile */
.trend-line .trend-halo { fill:none; stroke:rgba(80,201,255,.18); stroke-width:5; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; filter:blur(2px); }
.trend-line .trend-curve { stroke-width:1.7; filter:drop-shadow(0 0 3px rgba(84,210,255,.52)); }
.trend-line .trend-area { opacity:.32; }
.chart-animate .trend-halo { animation:trendSoftIn .7s .06s ease-out both; }

/* Nuova ripartizione: bilancia proporzionale, senza torta */
.split-stack { position:relative; min-height:210px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:34px 1fr; gap:16px 12px; padding:26px 18px 20px; }
.split-stack::before { content:""; position:relative; left:auto; top:auto; transform:none; grid-column:1 / 3; grid-row:1; align-self:center; width:100%; height:24px; aspect-ratio:auto; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:linear-gradient(90deg,#40d8ff 0 var(--card-value),#9d55ee var(--card-value) 100%); box-shadow:inset 0 2px 7px rgba(255,255,255,.18),0 10px 24px rgba(0,9,60,.28); }
.split-stack[data-empty="true"]::before { background:rgba(255,255,255,.09); }
.split-stack::after { content:""; position:absolute; left:50%; top:21px; width:2px; height:34px; transform:translateX(-50%); border-radius:2px; background:rgba(255,255,255,.8); box-shadow:0 0 8px rgba(112,218,255,.5); pointer-events:none; }
.split-block { grid-row:2; width:100% !important; min-height:102px; padding:18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border:1px solid rgba(255,255,255,.13); border-radius:18px; transform:none !important; overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 13px 26px rgba(0,7,52,.18); }
.split-block::before { content:""; position:absolute; left:auto; right:14px; top:14px; width:11px; height:11px; transform:none; border-radius:50%; box-shadow:0 0 13px currentColor; }
.split-block::after { display:none; }
.card-block { grid-column:1; color:#5be2ff; background:linear-gradient(145deg,rgba(25,151,220,.2),rgba(26,50,143,.16)); }
.cash-block { grid-column:2; color:#c36aff; background:linear-gradient(145deg,rgba(133,72,218,.2),rgba(63,27,137,.16)); }
.card-block::before { background:#5be2ff; }
.cash-block::before { background:#c36aff; }
.split-block span { color:rgba(255,255,255,.67); font-size:12px; }
.split-block strong { color:white; font-size:clamp(20px,4vw,28px); }

@media (max-width:700px) {
  /* Niente lettere sovrapposte: solo un riflesso astratto nel bordo libero */
  .stats .stat::before { content:"" !important; display:block !important; width:74px; height:74px; right:-24px; left:auto !important; top:auto; bottom:-25px; transform:none; padding:0; border-radius:50%; background:radial-gradient(circle at 32% 30%,rgba(102,224,255,.24),rgba(93,89,238,.11) 48%,transparent 70%) !important; opacity:1; }

  .split-stack { min-height:200px; grid-template-columns:1fr 1fr; grid-template-rows:31px 1fr; padding:23px 10px 14px; gap:12px 9px; }
  .split-stack::before { width:100%; height:20px; }
  .split-stack::after { top:19px; height:29px; }
  .split-block { grid-row:2; min-height:96px; padding:13px 11px; }
  .split-block strong { font-size:20px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-emblem img,.hero-emblem::before { animation:none; }
}

/* Semplificazione definitiva v17 */
/* Neon continuo e fluido: nessun lampeggio a scatti */
.hero-emblem img { animation:neonBreath 4.8s ease-in-out infinite alternate; will-change:filter,opacity; }
.hero-emblem::before { animation:neonAuraBreath 4.8s ease-in-out infinite alternate; will-change:opacity,transform; }
@keyframes neonBreath {
  from { opacity:.86; filter:drop-shadow(0 8px 13px rgba(0,0,0,.58)) drop-shadow(0 0 4px rgba(72,199,255,.25)) brightness(.92) saturate(.92); }
  to { opacity:1; filter:drop-shadow(0 0 9px rgba(83,222,255,.72)) drop-shadow(0 0 24px rgba(104,75,255,.58)) brightness(1.12) saturate(1.08); }
}
@keyframes neonAuraBreath {
  from { opacity:.48; transform:scale(.96); }
  to { opacity:.9; transform:scale(1.04); }
}

/* Il grafico resta a colonne: niente più linea sovrapposta */
.trend-line { display:none !important; }
.chart { background-image:linear-gradient(to bottom,rgba(255,255,255,.075) 1px,transparent 1px); background-size:100% 25%; }
.bar { border:1px solid rgba(192,239,255,.56); box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 12px 25px rgba(50,74,244,.32); }

/* Ripartizione essenziale: due indicatori separati e leggibili */
.split-stack { min-height:158px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr; gap:12px; padding:18px; }
.split-stack::before,.split-stack::after { display:none !important; content:none !important; }
.split-block { grid-row:1; min-height:122px; width:100% !important; padding:22px 18px 20px 25px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border:1px solid rgba(255,255,255,.14); border-radius:20px; overflow:hidden; transform:none !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 15px 28px rgba(0,7,52,.2); }
.split-block::before { content:""; display:block; position:absolute; left:0; right:auto; top:18px; bottom:18px; width:4px; height:auto; transform:none; border-radius:0 6px 6px 0; box-shadow:0 0 15px currentColor; }
.split-block::after { display:none !important; content:none !important; }
.card-block { grid-column:1; color:#58dfff; background:linear-gradient(135deg,rgba(39,151,219,.22),rgba(17,42,125,.16)); }
.cash-block { grid-column:2; color:#bd6dff; background:linear-gradient(135deg,rgba(134,73,218,.22),rgba(52,26,124,.16)); }
.card-block::before { background:#58dfff; }
.cash-block::before { background:#bd6dff; }
.split-block span { color:rgba(255,255,255,.68); font-size:12px; font-weight:750; }
.split-block strong { color:white; margin-top:8px; font-size:clamp(22px,4vw,30px); font-weight:600; }

@media (max-width:700px) {
  /* Disattivazione esplicita di ogni vecchia scritta o cerchio decorativo */
  .stats .stat::before,
  .stats .stat:nth-of-type(1)::before,
  .stats .stat:nth-of-type(2)::before,
  .stats .stat:nth-of-type(3)::before,
  .stats .stat:nth-of-type(4)::before { display:none !important; content:none !important; background:none !important; }

  .split-stack { min-height:150px; grid-template-columns:1fr 1fr; grid-template-rows:1fr; padding:12px 8px 8px; gap:8px; }
  .split-block { grid-row:1; min-height:116px; padding:18px 10px 16px 16px; border-radius:17px; }
  .split-block::before { display:block !important; content:"" !important; top:15px; bottom:15px; width:3px; }
  .split-block strong { font-size:19px; }
  .split-block span { font-size:10px; }
}

/* Prestazioni e dettagli premium v18 */
.unknown-split[hidden] { display:none !important; }

/* Neon fluido: vengono animate solo proprietà gestite dalla GPU */
.hero-emblem { contain:paint; }
.hero-emblem img {
  filter:drop-shadow(0 0 8px rgba(83,222,255,.58)) drop-shadow(0 0 20px rgba(104,75,255,.46)) brightness(1.04) saturate(1.04);
  animation:neonGpu 3.6s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  transform:translateZ(0) scale(.985);
  backface-visibility:hidden;
  will-change:transform,opacity;
}
.hero-emblem::before {
  animation:neonAuraGpu 3.6s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  transform:translateZ(0) scale(.96);
  will-change:transform,opacity;
}
@keyframes neonGpu {
  from { opacity:.8; transform:translateZ(0) scale(.985); }
  to { opacity:1; transform:translateZ(0) scale(1.015); }
}
@keyframes neonAuraGpu {
  from { opacity:.38; transform:translateZ(0) scale(.96); }
  to { opacity:.84; transform:translateZ(0) scale(1.045); }
}

/* Quattro simboli lineari, discreti e coerenti con ogni riepilogo */
.stats .stat::after,
.stats .stat-featured::after {
  content:"" !important;
  display:block !important;
  position:absolute;
  z-index:1;
  top:15px;
  right:15px;
  width:44px;
  height:44px;
  border:0;
  border-radius:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.18;
  pointer-events:none;
}
.stats .stat:nth-of-type(1)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfeaff' stroke-width='1.35'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2V3z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E"); }
.stats .stat:nth-of-type(2)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfeaff' stroke-width='1.35'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M7 3v5M17 3v5M3.5 10h17M8 14h3M13 14h3M8 17h3'/%3E%3C/svg%3E"); }
.stats .stat:nth-of-type(3)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfeaff' stroke-width='1.35'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='3'/%3E%3Cpath d='M2.5 9h19M6 15h4'/%3E%3C/svg%3E"); }
.stats .stat:nth-of-type(4)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfeaff' stroke-width='1.35'%3E%3Cpath d='M12 3v18M16 7.5c0-2-1.8-3-4-3s-4 1-4 3 1.7 3 4 3 4 1 4 3-1.8 3-4 3-4-1-4-3'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); }
.stats .stat > * { position:relative; z-index:2; }

/* Riflessi uniformi sui pannelli, senza aggiungere elementi invadenti */
.panel,.stat,.week-alert,.daily-pulse { border-top-color:rgba(190,233,255,.24); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),var(--shadow); }

@media (max-width:700px) {
  .stats .stat::after,.stats .stat-featured::after { top:13px; right:13px; width:38px; height:38px; opacity:.2; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-emblem img,.hero-emblem::before { animation:none; transform:none; }
}

/* Correzioni mirate v19 */
/* L'alone può uscire liberamente dal contenitore: niente bordo rettangolare */
.hero-emblem { contain:none; overflow:visible; }
.hero-emblem img {
  opacity:1;
  filter:drop-shadow(0 0 3px rgba(235,252,255,.95)) drop-shadow(0 0 10px rgba(65,214,255,.82)) drop-shadow(0 0 26px rgba(92,70,255,.7)) brightness(1.1) saturate(1.08);
  animation:neonDefined 4.2s ease-in-out infinite alternate;
}
.hero-emblem::before {
  width:126%;
  height:124%;
  background:radial-gradient(ellipse,rgba(48,170,255,.2) 0%,rgba(78,75,232,.12) 38%,transparent 70%);
  filter:blur(18px);
  animation:neonDefinedAura 4.2s ease-in-out infinite alternate;
}
@keyframes neonDefined {
  from { opacity:.88; transform:translateZ(0) scale(.993); }
  to { opacity:1; transform:translateZ(0) scale(1.012); }
}
@keyframes neonDefinedAura {
  from { opacity:.42; transform:translateZ(0) scale(.98); }
  to { opacity:.9; transform:translateZ(0) scale(1.04); }
}

/* Più spazio fra il titolo e il simbolo della carta */
.stats .stat:nth-of-type(3)::after { right:5px; }

/* Linea calcolata sulle coordinate reali delle colonne registrate */
.trend-line {
  display:block !important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  overflow:visible;
  pointer-events:none;
  filter:none;
}
.trend-line .trend-halo,
.trend-line .trend-curve {
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:drawPremiumTrend .95s .32s cubic-bezier(.2,.72,.22,1) forwards;
}
.trend-line .trend-halo { stroke:rgba(84,205,255,.18); stroke-width:8; filter:blur(2.5px); }
.trend-line .trend-curve { stroke:url(#premiumTrend); stroke-width:2.15; filter:drop-shadow(0 0 3px rgba(91,214,255,.68)); }
@keyframes drawPremiumTrend { to { stroke-dashoffset:0; } }

@media (max-width:700px) {
  .stats .stat:nth-of-type(3)::after { right:5px; width:35px; height:35px; }
  #todayDetail { line-height:1.35; }
  .trend-line .trend-curve { stroke-width:1.7; }
  .trend-line .trend-halo { stroke-width:6; }
}

/* v20 final: precedenza alle rifiniture mobili dell'intestazione */
#todayDetail { white-space:pre-line; }
.trend-line .trend-dot { fill:#e9fdff; stroke:#61dcff; stroke-width:1.35; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 4px rgba(79,220,255,.9)); }

@media (max-width:700px) {
  .topbar {
    min-height:78px;
    padding:11px max(12px,env(safe-area-inset-right)) 11px max(12px,env(safe-area-inset-left));
    background:linear-gradient(112deg,rgba(3,24,80,.97),rgba(12,43,120,.94) 52%,rgba(31,24,111,.96));
    border-bottom:1px solid rgba(133,220,255,.34);
    box-shadow:0 12px 35px rgba(0,8,54,.32),inset 0 1px 0 rgba(255,255,255,.1);
  }
  .topbar::after { content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#75dfff 28%,#a986ff 72%,transparent);opacity:.8; }
  .topbar .brand { display:flex;gap:10px;min-width:112px; }
  .topbar .brand .brand-monogram {
    display:grid;width:46px;height:46px;flex:0 0 46px;font-size:16px;
    border:1px solid rgba(191,239,255,.58);
    background:radial-gradient(circle at 34% 25%,rgba(101,211,255,.32),rgba(17,47,128,.38) 48%,rgba(14,23,93,.74));
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.04),inset 0 0 18px rgba(79,189,255,.2),0 0 0 4px rgba(98,171,255,.06),0 9px 23px rgba(0,5,44,.3);
  }
  .topbar .brand > span:last-child { display:block; }
  .topbar .brand strong { display:block;font-size:0; }
  .topbar .brand strong::after { content:"Scala";font-family:Didot,"Bodoni MT",Georgia,serif;font-size:17px;letter-spacing:.02em; }
  .topbar .brand small { display:block;margin-top:2px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:rgba(210,235,255,.66); }
  .top-actions { margin-left:auto;gap:6px; }
  .top-actions #userButton,.top-actions #exportButton,.top-actions #logoutButton {
    width:44px;height:44px;min-width:44px;padding:0;border-radius:14px;
    border:1px solid rgba(185,230,255,.22);
    background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(0,7,49,.2);
  }
  .top-actions #userButton span { font-size:18px;filter:saturate(.7); }
  .top-actions #exportButton::after,.top-actions #logoutButton::after { font-size:9px;letter-spacing:.05em;text-transform:uppercase; }
}

@media (max-width:390px) {
  .topbar .brand > span:last-child { display:block; }
  .topbar .brand { min-width:104px; }
  .top-actions #userButton,.top-actions #exportButton,.top-actions #logoutButton { width:41px;height:41px;min-width:41px; }
}

/* v21 final: deve prevalere su tutte le versioni precedenti */
.hero-emblem::after { display:none !important;content:none !important; }
.hero-emblem img {
  filter:drop-shadow(0 0 3px rgba(245,254,255,.98)) drop-shadow(0 0 11px rgba(67,215,255,.86)) drop-shadow(0 0 25px rgba(101,68,255,.68)) brightness(1.12) saturate(1.06) !important;
  animation:neonSmoothV21 2.8s cubic-bezier(.37,0,.63,1) infinite alternate !important;
  will-change:transform,opacity;
}
.hero-emblem::before {
  filter:blur(15px) !important;
  animation:neonAuraSmoothV21 2.8s cubic-bezier(.37,0,.63,1) infinite alternate !important;
  will-change:transform,opacity;
}
.bar[data-open="true"] { transform:scaleY(1) !important;filter:brightness(1.09) !important; }
.trend-line { z-index:3 !important; }
.bar-group { z-index:2; }
.trend-line .trend-curve { stroke-width:2.25 !important;opacity:1 !important; }
.trend-line .trend-halo { stroke-width:7 !important;opacity:.82; }
.input-money input:invalid { border-color:#ff9aa9 !important;box-shadow:0 0 0 3px rgba(255,92,118,.12) !important; }

/* v22: curva sempre visibile e movimento sincronizzato */
.chart-animate .trend-line .trend-halo,
.chart-animate .trend-line .trend-curve,
.trend-line .trend-halo,
.trend-line .trend-curve {
  stroke-dasharray:none !important;
  stroke-dashoffset:0 !important;
  animation:none !important;
  opacity:1 !important;
}
.trend-line .trend-halo { stroke:rgba(76,218,255,.28) !important;stroke-width:9 !important;filter:blur(3px) !important; }
.trend-line .trend-curve { stroke:#74e4ff !important;stroke-width:2.8 !important;filter:drop-shadow(0 0 5px rgba(90,224,255,.92)) !important; }
.trend-line .trend-dot { fill:#edfeff !important;stroke:#65e5ff !important;stroke-width:1.8 !important;filter:drop-shadow(0 0 5px rgba(91,229,255,.95)) !important; }
.bar { transition:transform 380ms cubic-bezier(.2,.8,.2,1),filter 260ms ease !important; }
.bar[data-open="true"] { transform:translate3d(0,-8px,0) scaleY(1) !important;filter:brightness(1.12) drop-shadow(0 0 7px rgba(91,222,255,.48)) !important; }

/* v23: curva dietro le colonne e risposta immediata sincronizzata */
.trend-line { z-index:1 !important; }
.bar-group { z-index:2 !important; }
.trend-line .trend-curve { stroke-width:2.15 !important; }
.trend-line .trend-halo { stroke-width:6 !important;opacity:.68 !important; }
.bar { transition:transform 220ms cubic-bezier(.16,1,.3,1),filter 220ms ease !important; }
.bar[data-open="true"] { transform:translate3d(0,-8px,0) scaleY(1) !important; }

/* v24: linea completa mascherata solo all'interno delle colonne */
.trend-line { z-index:3 !important; }
.bar-group { z-index:2 !important; }
.trend-line .trend-curve { stroke:#78e9ff !important;stroke-width:2.35 !important; }
.trend-line .trend-halo { stroke:rgba(75,218,255,.3) !important;stroke-width:7 !important; }
.bar { transition:transform 240ms cubic-bezier(.16,1,.3,1),filter 200ms ease !important; }

/* v25: barra, pallino e curva condividono lo stesso fotogramma JS. */
.bar { transition:filter 150ms ease !important; will-change:transform; }
.bar[data-open="true"] { filter:brightness(1.1) drop-shadow(0 0 6px rgba(91,222,255,.4)) !important; }
.bar-tooltip { animation-duration:120ms !important; }

/* v26: durante la sola salita evitiamo i due effetti più costosi da
   ridisegnare; tooltip e luce entrano appena il movimento è concluso. */
.bar[data-animating="true"] { filter:none !important; }
.bar[data-animating="true"] .bar-tooltip { display:none !important; }

/* v27: curva integra dietro le colonne; il punto appartiene alla barra. */
.trend-line { z-index:1 !important; }
.bar-group { z-index:2 !important; }
.bar {
  background:linear-gradient(180deg,rgb(111,224,255),rgb(110,101,255) 72%,rgb(154,77,255)) !important;
}
.chart .bar::after,
.chart .bar:hover::after,
.chart .bar.is-active::after,
.chart .bar[data-open]::after {
  content:"" !important;
  display:block !important;
  position:absolute;
  z-index:4;
  left:50%;
  top:0;
  width:7px;
  height:7px;
  border-radius:50%;
  transform:translate(-50%,-48%);
  background:#edfeff;
  border:1.5px solid #65e5ff;
  box-shadow:0 0 5px rgba(91,229,255,.95);
  pointer-events:none;
}

/* v33: un unico fondale continuo, senza tasselli cromatici fra le card. */
.stats {
  gap:10px !important;
  padding:0 !important;
  overflow:visible !important;
  background:#112675 !important;
  border-radius:20px;
  box-shadow:0 0 0 10px #112675;
}
.stats .stat,
.stats .stat-featured {
  background:transparent !important;
  border-color:rgba(166,211,255,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* La pagina resta ferma ai suoi estremi e la barra laterale non è visibile. */
html,body {
  overscroll-behavior:none !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
html::-webkit-scrollbar,body::-webkit-scrollbar { display:none !important;width:0 !important;height:0 !important; }

/* Simboli leggibili: foglio Excel con freccia e uscita distinta. */
.top-action-icon.export-icon { width:23px;height:23px; }
.top-action-icon.export-icon .excel-sheet { fill:rgba(54,194,112,.18);stroke:#8ff0b7; }
.top-action-icon.export-icon .export-arrow { stroke:#b8f8ff;stroke-width:2; }
.top-action-icon.logout-icon { width:22px;height:22px;color:#c9efff; }
.top-actions #exportButton,.top-actions #logoutButton { text-align:center; }
@media (max-width:700px) {
  .stats { gap:10px !important; box-shadow:0 0 0 6px #112675; }
  .top-actions #userButton,
  .top-actions #exportButton,
  .top-actions #logoutButton { grid-template-rows:23px 10px !important; row-gap:3px !important; }
  .top-actions #exportButton .top-action-icon { width:23px;height:23px; }
  .top-actions #logoutButton .top-action-icon { width:22px;height:22px; }
  .top-actions .top-action-label { max-width:42px;font-size:7.5px !important;letter-spacing:0 !important;text-transform:none !important; }
}

/* v31: ingresso sincronizzato di colonne, pallini e curva. */
.bar { transform-origin:center bottom !important; }
.chart-animate .bar {
  animation:chartRiseV31 .72s cubic-bezier(.18,.78,.22,1) both !important;
  animation-delay:0s !important;
}
.trend-line {
  transform-box:view-box;
  transform-origin:50% var(--trend-baseline,88%);
}
.chart-animate .trend-line {
  animation:chartRiseV31 .72s cubic-bezier(.18,.78,.22,1) both !important;
}
@keyframes chartRiseV31 {
  from { transform:scaleY(.025); opacity:.2; }
  to { transform:scaleY(1); opacity:1; }
}

/* Il cursore IVA attivo è centrato, senza il vecchio sollevamento. */
.vat-period-selector { align-items:stretch; }
.vat-period-selector button { margin:0 !important; }
.vat-period-selector button.active { transform:none !important; }

/* Fondo continuo sotto i quattro riepiloghi: nessuna fenditura luminosa. */
.stats {
  padding:1px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(10,52,139,.94),rgba(31,20,105,.94));
}
.stats .stat,
.stats .stat-featured {
  background:linear-gradient(180deg,rgba(9,35,111,.72),rgba(20,24,99,.7)) !important;
}

/* Gli errori restano testuali: niente rettangoli rossi mentre si digita. */
.input-money input:invalid {
  border-color:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}
.form-notice {
  display:none;
  position:fixed;
  z-index:50;
  left:50%;
  top:max(18px,env(safe-area-inset-top));
  width:min(420px,calc(100vw - 34px));
  transform:translate(-50%,-12px);
  padding:13px 16px;
  border:1px solid rgba(151,225,255,.55);
  border-radius:14px;
  background:linear-gradient(135deg,#f8fdff,#dcecff);
  color:#123a91;
  font-size:13px;
  font-weight:750;
  line-height:1.35;
  box-shadow:0 18px 45px rgba(0,7,55,.38);
  opacity:0;
  pointer-events:none;
}
.form-notice.show { display:block; animation:formNoticeIn .22s ease-out forwards; }
@keyframes formNoticeIn { to { opacity:1;transform:translate(-50%,0); } }

/* v32: nessun fondale distinto visibile ai bordi o fra le quattro card. */
.stats {
  gap:1px !important;
  padding:1px !important;
  overflow:hidden;
  background:#112675 !important;
}
.stats .stat,
.stats .stat-featured {
  background:#112675 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1) !important;
}

/* Il modulo è l'unico scroller e non trasferisce il gesto alla pagina. */
#entryDialog { overflow:hidden !important; overscroll-behavior:none !important; }
#entryDialog > form {
  max-height:calc(100vh - 30px);
  max-height:calc(100dvh - env(safe-area-inset-top) - 20px);
  overflow-y:auto !important;
  overscroll-behavior-y:none !important;
  -webkit-overflow-scrolling:touch;
}

/* Avviso perfettamente centrato anche quando contiene una sola riga. */
.week-alert > div { min-height:29px; display:flex; flex-direction:column; justify-content:center; }
.week-alert strong { display:block; margin:0; line-height:1.25; }
.week-alert ul:empty { display:none; }

/* Icone vettoriali leggibili, diverse per profilo, esportazione e uscita. */
.top-action-icon { width:19px; height:19px; display:grid; place-items:center; flex:0 0 auto; }
.top-action-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.top-action-label { font-size:inherit; }
@media (max-width:700px) {
  .top-actions #userButton,
  .top-actions #exportButton,
  .top-actions #logoutButton { display:grid !important; grid-template-rows:20px 9px; align-content:center; justify-items:center; row-gap:2px; font-size:initial !important; }
  .top-actions #userButton .top-action-icon,
  .top-actions #exportButton .top-action-icon,
  .top-actions #logoutButton .top-action-icon { width:19px; height:19px; font-size:initial; }
  .top-actions #userButton strong { display:block !important; max-width:38px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:7px; font-weight:750; }
  .top-actions .top-action-label { display:block; font-size:7px !important; line-height:1; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
  .top-actions #exportButton::after,
  .top-actions #logoutButton::after { display:none !important; content:none !important; }
}

/* v28: la curva resta sopra le sommità ma scende soltanto dopo il bordo. */
.trend-line { z-index:3 !important; }
.trend-line .trend-curve { stroke-width:2.15px !important; }
.trend-line .trend-halo { stroke-width:6px !important; }

/* v29: azzeramento completo del vecchio tooltip ::after. */
.chart .bar::after,
.chart .bar:hover::after,
.chart .bar.is-active::after,
.chart .bar[data-open]::after {
  box-sizing:border-box !important;
  right:auto !important;
  bottom:auto !important;
  width:7px !important;
  height:7px !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  white-space:normal !important;
}

/* v33 finale: queste regole restano ultime nella cascata. */
.stats {
  gap:10px !important;
  padding:0 !important;
  overflow:visible !important;
  background:#112675 !important;
  box-shadow:0 0 0 7px #112675 !important;
}
.stats .stat,
.stats .stat-featured {
  background:#112675 !important;
  border-color:rgba(166,211,255,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09) !important;
}
.top-action-icon.export-icon { width:23px !important;height:23px !important; }
.top-action-icon.logout-icon { width:22px !important;height:22px !important; }
@media (max-width:700px) {
  .stats { gap:10px !important;padding:0 !important;box-shadow:0 0 0 6px #112675 !important; }
  .top-actions #userButton,
  .top-actions #exportButton,
  .top-actions #logoutButton { grid-template-rows:23px 10px !important;row-gap:3px !important; }
  .top-actions #exportButton .top-action-icon { width:23px !important;height:23px !important; }
  .top-actions #logoutButton .top-action-icon { width:22px !important;height:22px !important; }
  .top-actions .top-action-label { font-size:7.5px !important;letter-spacing:0 !important;text-transform:none !important; }
}

/* v34: il riquadro Ripartizione usa un solo fondale tinta-logo.
   Nessun riflesso sovrapposto può più creare una divisione centrale. */
.summary-panel {
  background:#112675 !important;
  background-image:none !important;
}
.summary-panel::before {
  display:none !important;
  content:none !important;
  background:none !important;
}
.summary-panel .split-stack {
  background:#112675 !important;
  background-image:none !important;
}
@media (max-width:700px) {
  .summary-panel,
  .summary-panel .split-stack { background:#112675 !important;background-image:none !important; }
}

/* v35: fondale globale realmente uniforme. La vecchia immagine conteneva
   fasce cromatiche che apparivano come tagli in punti diversi della pagina. */
html { background:#173da7 !important; }
body,
#appShell {
  background:#173da7 !important;
  background-color:#173da7 !important;
  background-image:none !important;
  background-attachment:scroll !important;
}
body::before { display:none !important;content:none !important;background:none !important; }

/* Icona Excel fornita dall'utente, resa nitida sul blu notte. */
.top-action-icon.export-icon {
  width:25px !important;
  height:25px !important;
  overflow:visible;
}
.top-action-icon.export-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:brightness(1.16) contrast(1.12) saturate(1.04) drop-shadow(0 0 4px rgba(103,206,255,.42));
}
.top-action-icon.logout-icon svg circle { display:none !important; }
@media (max-width:700px) {
  .top-actions #exportButton .top-action-icon { width:25px !important;height:25px !important; }
}

/* v36: un solo gradiente continuo blu-viola, senza immagini, tasselli o
   cambi di fondale fra una sezione e l'altra. */
html {
  min-height:100%;
  background:#173da7 !important;
  background-image:linear-gradient(145deg,#1272d5 0%,#2449c4 42%,#5630d6 72%,#7b25e0 100%) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
}
body,
#appShell {
  min-height:100vh;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Centratura ottica: l'illustrazione Excel è leggermente asimmetrica,
   mentre la porta necessita di un piccolo compenso verso sinistra. */
.top-actions #exportButton .export-icon {
  transform:translate(-1px,1px) !important;
}
.top-actions #logoutButton .logout-icon {
  transform:translate(-1px,1px) !important;
}
.top-actions #exportButton .top-action-label,
.top-actions #logoutButton .top-action-label {
  width:100%;
  text-align:center;
  justify-self:center;
}
.top-actions #exportButton,
.top-actions #logoutButton {
  justify-content:center !important;
  justify-items:center !important;
  align-items:center !important;
}

/* Il gradiente segue l'intera altezza reale del documento, non il solo
   riquadro iniziale del browser. */
html {
  background:#173da7 !important;
  background-image:none !important;
}
body {
  min-height:100vh;
  background-color:#173da7 !important;
  background-image:linear-gradient(145deg,#1272d5 0%,#2449c4 42%,#5630d6 72%,#7b25e0 100%) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  background-attachment:scroll !important;
}
#appShell { background:transparent !important;background-image:none !important; }

/* Fondale fissato al viewport: durante lo scroll non viene mai esposto un
   livello differente, neppure negli spazi esterni o fra sezioni. */
html,body {
  background-color:#2449c4 !important;
  background-image:linear-gradient(145deg,#1272d5 0%,#2449c4 44%,#5630d6 74%,#7b25e0 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-attachment:fixed !important;
}
body::before {
  display:block !important;
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:linear-gradient(145deg,#1272d5 0%,#2449c4 44%,#5630d6 74%,#7b25e0 100%) !important;
}

/* Rifinitura intestazione mobile: proporzioni ottiche uniformi. */
.top-actions #logoutButton .logout-icon {
  transform:translate(1px,1px) !important;
}
.top-actions #userButton .top-action-icon {
  width:23px !important;
  height:23px !important;
}
.top-actions #userButton .top-action-icon svg {
  width:23px !important;
  height:23px !important;
  stroke-width:1.75 !important;
}
@media (max-width:700px) {
  .top-actions #userButton .top-action-icon {
    width:23px !important;
    height:23px !important;
  }
}

/* v37: identità completa scelta dall'utente nell'intestazione mobile. */
@media (max-width:700px) {
  .topbar .brand { min-width:145px !important;gap:9px !important; }
  .topbar .brand > span:last-child { display:block !important;min-width:0; }
  .topbar .brand strong { display:block !important;font-size:0 !important;white-space:nowrap; }
  .topbar .brand strong::after {
    content:"Gelateria alla Scala" !important;
    font-family:Didot,"Bodoni MT",Georgia,serif;
    font-size:13px !important;
    font-weight:600;
    letter-spacing:.005em;
  }
  .topbar .brand small {
    display:block !important;
    margin-top:3px;
    font-size:7.5px !important;
    letter-spacing:.15em !important;
    text-transform:uppercase;
  }
}
@media (max-width:390px) {
  .topbar .brand { min-width:132px !important; }
  .topbar .brand strong::after { font-size:11.5px !important; }
}

/* v38: accesso immobile, credenziali ricordabili e animazione premium. */
body.auth-mode {
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  touch-action:none;
}
body.auth-mode .auth-screen {
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0 !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none;
}
.remember-login {
  display:flex !important;
  align-items:center;
  gap:9px;
  margin:9px 0 16px !important;
  color:rgba(235,244,255,.8);
  font-size:11px !important;
  font-weight:650 !important;
  cursor:pointer;
}
.remember-login input {
  appearance:none;
  -webkit-appearance:none;
  width:18px !important;
  height:18px;
  flex:0 0 18px;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(170,225,255,.45) !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.07) !important;
}
.remember-login input:checked {
  background:linear-gradient(145deg,#58ddff,#7457ff) !important;
  box-shadow:0 0 12px rgba(83,213,255,.36);
}
.remember-login input:checked::after {
  content:"";
  display:block;
  width:8px;
  height:4px;
  margin:4px 0 0 4px;
  border-left:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(-45deg);
}
.password-field input { padding-right:54px !important; }
.password-field #toggleLoginPassword {
  right:9px !important;
  bottom:7px !important;
  width:39px !important;
  height:37px !important;
  overflow:visible;
}
.password-dessert {
  width:34px !important;
  height:28px !important;
  display:block !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  transform:none !important;
}
.password-dessert::before,.password-dessert::after { display:none !important;content:none !important; }
.password-dessert svg { width:34px;height:28px;overflow:visible; }
.dessert-scoop { fill:#b983ff;stroke:#d9c7ff;stroke-width:1;filter:drop-shadow(0 0 4px rgba(174,112,255,.65)); }
.dessert-cup { fill:rgba(91,207,255,.2);stroke:#9de8ff;stroke-width:1.25; }
.dessert-rim { fill:none;stroke:#d5f6ff;stroke-width:1.3;stroke-linecap:round; }
.dessert-spoon { fill:rgba(231,251,255,.2);stroke:#d9f8ff;stroke-width:1.25;stroke-linecap:round;transform-origin:26px 4px;transition:transform .38s cubic-bezier(.2,.85,.25,1); }
#toggleLoginPassword[aria-pressed="true"] .dessert-spoon { transform:translate(-6px,7px) rotate(-17deg); }
#toggleLoginPassword[aria-pressed="true"] .dessert-scoop { filter:drop-shadow(0 0 7px rgba(195,127,255,.92)); }

#appShell.app-entering { animation:premiumSpawnV38 .95s cubic-bezier(.16,.82,.25,1) both; }
#appShell.app-entering::before {
  content:"";
  position:fixed;
  z-index:999;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 42%,rgba(146,235,255,.5),rgba(76,86,239,.2) 32%,transparent 67%);
  animation:premiumFlashV38 .95s ease-out both;
}
@keyframes premiumSpawnV38 {
  0% { opacity:0;transform:scale(.975);filter:blur(7px) brightness(1.35); }
  58% { opacity:1;transform:scale(1.006);filter:blur(0) brightness(1.08); }
  100% { opacity:1;transform:scale(1);filter:none; }
}
@keyframes premiumFlashV38 {
  0% { opacity:0;transform:scale(.8); }
  28% { opacity:.8; }
  100% { opacity:0;transform:scale(1.18); }
}
@media (max-width:700px) {
  body.auth-mode .auth-screen { padding:max(10px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom)); }
  body.auth-mode .auth-card { max-height:calc(100dvh - 20px);overflow:hidden; }
}

/* v39: cucchiaino realistico, completamente esterno a riposo e immerso
   soltanto nel gelato quando la password viene mostrata. */
.password-field input { padding-right:68px !important; }
.password-field #toggleLoginPassword {
  right:5px !important;
  bottom:5px !important;
  width:58px !important;
  height:42px !important;
}
.password-dessert {
  width:50px !important;
  height:34px !important;
}
.password-dessert svg {
  width:50px !important;
  height:34px !important;
  overflow:visible;
}
.dessert-spoon {
  fill:none;
  stroke:#e4faff;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:33px 23px;
  transition:transform .42s cubic-bezier(.18,.86,.24,1);
  filter:drop-shadow(0 0 3px rgba(136,225,255,.5));
}
.dessert-spoon .spoon-handle {
  fill:none;
  stroke-width:1.8;
}
.dessert-spoon .spoon-bowl {
  fill:rgba(218,248,255,.2);
  stroke-width:1.4;
}
#toggleLoginPassword[aria-pressed="true"] .dessert-spoon {
  transform:translate(-12px,-8px) rotate(-4deg);
}
.dessert-scoop { position:relative; }

/* v40: la conca è all'estremità inferiore del cucchiaino. Entrando nella
   pallina viene coperta dal gelato; il manico resta visibile all'esterno. */
.dessert-spoon .spoon-bowl {
  fill:rgba(218,248,255,.24);
  stroke:#e4faff;
  stroke-width:1.35;
}

/* v41: interruttore password "gelato assaggiato", senza cucchiaino. */
.gelato-reveal svg { width:48px !important;height:36px !important;overflow:visible; }
.gelato-orb {
  fill:url(#gelatoGlow);
  stroke:rgba(228,249,255,.92);
  stroke-width:1.05;
  filter:drop-shadow(0 0 5px rgba(135,218,255,.55));
  transform-origin:21px 17px;
  transition:transform .36s cubic-bezier(.2,.85,.24,1),filter .36s ease;
}
.gelato-shine { fill:rgba(255,255,255,.38);pointer-events:none; }
.gelato-base { fill:rgba(91,207,255,.12);stroke:#b9efff;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round; }
.bite-holes { opacity:0;transition:opacity .18s ease; }
.gelato-spark { fill:none;stroke:#f5dcff;stroke-width:1.35;stroke-linecap:round;opacity:0;transform-origin:38px 10px;transform:scale(.45) rotate(-18deg);transition:opacity .25s ease,transform .4s cubic-bezier(.18,.88,.24,1); }
#toggleLoginPassword[aria-pressed="true"] .bite-holes { opacity:1; }
#toggleLoginPassword[aria-pressed="true"] .gelato-orb { transform:rotate(-4deg) scale(.97);filter:drop-shadow(0 0 8px rgba(189,123,255,.88)); }
#toggleLoginPassword[aria-pressed="true"] .gelato-spark { opacity:1;transform:scale(1) rotate(0); }
#toggleLoginPassword:focus,
#toggleLoginPassword:focus-visible { outline:none !important;box-shadow:none !important; }

/* v42: icone lucchetto fornite dall'utente, adattate alla palette Scala. */
.password-field #toggleLoginPassword { width:45px !important;height:42px !important;right:7px !important; }
.password-locks { position:relative;display:block !important;width:31px !important;height:31px !important;border:0 !important;border-radius:50% !important;overflow:visible !important;transform:none !important; }
.password-locks::before,.password-locks::after { display:none !important;content:none !important; }
.password-lock { position:absolute;inset:0;width:31px;height:31px;fill:currentColor;transform-origin:center;transition:opacity .24s ease,transform .38s cubic-bezier(.18,.88,.24,1),filter .3s ease; }
.password-lock-closed { color:#9beaff;opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 4px rgba(91,220,255,.52)); }
.password-lock-open { color:#c49aff;opacity:0;transform:scale(.45) rotate(-65deg);filter:drop-shadow(0 0 5px rgba(189,116,255,.5)); }
#toggleLoginPassword[aria-pressed="true"] .password-lock-closed { opacity:0;transform:scale(.45) rotate(65deg); }
#toggleLoginPassword[aria-pressed="true"] .password-lock-open { opacity:1;transform:scale(1) rotate(0);animation:lockPulseV42 .42s ease-out; }
@keyframes lockPulseV42 { 0%{filter:drop-shadow(0 0 0 rgba(190,127,255,0))} 45%{filter:drop-shadow(0 0 11px rgba(190,127,255,.95))} 100%{filter:drop-shadow(0 0 5px rgba(189,116,255,.5))} }

/* v43: centratura ottica e rimozione completa del riquadro nativo al tap. */
.password-field #toggleLoginPassword,
.password-field #toggleLoginPassword:hover,
.password-field #toggleLoginPassword:active,
.password-field #toggleLoginPassword:focus,
.password-field #toggleLoginPassword:focus-visible {
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
.password-locks { transform:translateY(3px) !important; }
@media (max-width:700px) {
  body,#appShell,.auth-screen {
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-touch-callout:none !important;
  }
  input,textarea {
    -webkit-user-select:text !important;
    user-select:text !important;
    -webkit-touch-callout:default !important;
  }
  img,svg { -webkit-user-drag:none;user-drag:none; }
}

/* v47: icone richieste per profilo, uscita e visibilità password. */
.top-action-icon.user-detail-icon svg,
.top-action-icon.logout-icon svg { fill:currentColor !important;stroke:none !important; }
.top-action-icon.user-detail-icon { color:#bfeeff;filter:drop-shadow(0 0 7px rgba(80,213,255,.42)); }
.top-action-icon.logout-icon { color:#d9edff;filter:drop-shadow(0 0 7px rgba(131,112,255,.4)); }
.password-locks { position:relative !important;width:31px !important;height:31px !important;display:block !important;background:none !important;transform:translateY(3px) !important;filter:none !important;animation:none !important; }
.password-locks .password-lock { display:block !important; }
.brand { cursor:default !important;outline:0 !important;-webkit-tap-highlight-color:transparent !important;user-select:none; }

/* v49: frecce circolari fornite dall'utente. */
.mobile-entry-toggle i { border:0 !important;background:transparent !important;transform:none !important; }
.mobile-entry-toggle i > span { width:30px;height:30px;display:grid;place-items:center; }
.mobile-entry-toggle i svg { width:100%;height:100%;display:block;color:#91e8ff;filter:drop-shadow(0 0 6px rgba(75,205,255,.35)); }
.mobile-entry-toggle .arrow-open { display:none; }
.mobile-entry-toggle[aria-expanded="true"] .arrow-closed { display:none; }
.mobile-entry-toggle[aria-expanded="true"] .arrow-open { display:grid; }
.desktop-calendar header button svg { width:22px;height:22px;display:block;margin:auto;color:#a9efff; }
.desktop-calendar .calendar-selected-date { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 11px;border:1px solid rgba(132,215,255,.18);border-radius:11px;background:rgba(255,255,255,.055); }
.desktop-calendar .calendar-selected-date small { color:rgba(217,237,255,.62);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase; }
.desktop-calendar .calendar-selected-date strong { color:#fff;font-size:12px;text-transform:capitalize; }
.desktop-calendar .calendar-day.assigned:disabled { cursor:not-allowed;color:rgba(229,239,255,.4);background:rgba(255,179,79,.055);border-color:rgba(255,179,79,.13);opacity:.72; }
.desktop-calendar .calendar-day.assigned:disabled:hover { transform:none;background:rgba(255,179,79,.055);border-color:rgba(255,179,79,.13); }

/* v50: disposizione definitiva del calendario su PC e telefono. */
.desktop-date-icon svg { width:24px;height:24px;display:block;fill:currentColor;filter:drop-shadow(0 0 5px rgba(91,220,255,.45)); }
.desktop-date-chevron { width:25px;height:25px;display:grid !important;place-items:center; }
.desktop-date-chevron > span { width:24px;height:24px;display:grid;place-items:center; }
.desktop-date-chevron svg { width:24px;height:24px;display:block;fill:currentColor; }
.desktop-date-chevron .date-arrow-open { display:none; }
.desktop-date-button[aria-expanded="true"] .desktop-date-chevron { transform:none !important; }
.desktop-date-button[aria-expanded="true"] .date-arrow-closed { display:none; }
.desktop-date-button[aria-expanded="true"] .date-arrow-open { display:grid; }
.desktop-calendar header button { display:grid;place-items:center;font-size:27px !important;font-family:Arial,sans-serif; }
@media (max-width:700px) {
  .entry-date-control { display:block !important;position:relative;margin-top:7px; }
  .entry-date-control #entryDate { position:absolute !important;width:1px !important;height:1px !important;min-width:1px !important;padding:0 !important;margin:0 !important;opacity:0;pointer-events:none; }
  .desktop-date-button { width:100% !important;min-height:58px;padding:8px 11px !important;display:grid !important;grid-template-columns:38px minmax(0,1fr) 25px;align-items:center;gap:9px;text-align:left;border:1px solid rgba(126,205,255,.38) !important;border-radius:13px !important;color:#edf9ff !important;background:linear-gradient(125deg,rgba(24,83,177,.72),rgba(63,42,159,.7)) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important; }
  .desktop-date-icon { width:38px !important;height:38px !important;margin:0 !important;display:grid !important;place-items:center;border-radius:11px;color:#c9f7ff !important;background:linear-gradient(145deg,rgba(70,207,255,.28),rgba(114,76,255,.22)); }
  .desktop-date-copy { display:block;min-width:0; }
  .desktop-date-copy small { display:block;margin:0 0 2px;color:rgba(213,236,255,.65);font-size:8px;font-weight:750;letter-spacing:.1em;text-transform:uppercase; }
  .desktop-date-copy strong { display:block;overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap; }
  .desktop-calendar:not([hidden]) { display:block !important;width:100%;margin:8px 0 13px;padding:11px 9px;border:1px solid rgba(119,211,255,.34);border-radius:14px;background:linear-gradient(145deg,#112e78,#241877);box-shadow:0 15px 30px rgba(3,8,51,.34),inset 0 1px 0 rgba(255,255,255,.1); }
  .desktop-calendar[hidden] { display:none !important; }
  .desktop-calendar header { display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px;margin-bottom:9px; }
  .desktop-calendar header strong { color:#fff;text-align:center;text-transform:capitalize;font-size:12px; }
  .desktop-calendar header button { width:31px;height:31px;padding:0;border:1px solid rgba(151,213,255,.25);border-radius:9px;color:#bceeff;background:rgba(255,255,255,.07); }
  .desktop-calendar .calendar-selected-date { margin-bottom:9px;padding:7px 9px; }
  .desktop-calendar .calendar-selected-date small { font-size:7px; }
  .desktop-calendar .calendar-selected-date strong { font-size:10.5px; }
  .calendar-weekdays,.calendar-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px; }
  .calendar-weekdays { margin-bottom:4px;color:rgba(221,238,255,.66);font-size:8px;text-align:center;text-transform:uppercase; }
  .calendar-day,.calendar-blank { position:relative;display:grid;place-items:center;min-width:0;min-height:31px; }
  .calendar-day { padding:0;border:1px solid transparent;border-radius:8px;color:#eef7ff;background:transparent;font-size:11px; }
  .calendar-day.selected { color:#071b55;background:linear-gradient(135deg,#bff5ff,#9ec6ff);font-weight:800;box-shadow:0 0 11px rgba(88,222,255,.34); }
  .calendar-day i { position:absolute;left:50%;bottom:2px;width:4px;height:4px;border-radius:50%;transform:translateX(-50%);background:#ffb34f;box-shadow:0 0 6px rgba(255,157,48,.9); }
  .desktop-calendar > p { margin-top:9px;font-size:8.5px;line-height:1.25; }
}

/* Desktop v50 finale: volutamente dopo ogni regola precedente. */
@media (min-width:701px) {
  .summary-panel .split-stack { transform:translateY(11px); }
  .stats { width:100% !important;margin-left:0 !important;margin-right:0 !important; }
  /* Barra desktop visibile, trascinabile e coerente con la palette. */
  html,body { scrollbar-width:auto !important;scrollbar-color:#6e75ff #10266f !important; }
  html::-webkit-scrollbar,body::-webkit-scrollbar { display:block !important;width:12px !important;height:12px !important; }
  html::-webkit-scrollbar-track,body::-webkit-scrollbar-track { background:#10266f !important; }
  html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb { min-height:46px;border:3px solid #10266f;border-radius:999px;background:linear-gradient(#55d8ff,#8354ff) !important; }
  html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover { background:linear-gradient(#7ce8ff,#a26cff) !important; }

  /* Avviso compatto e più leggibile su monitor. */
  .week-alert { width:min(720px,100%);min-height:82px;margin:-10px auto 22px;padding:17px 21px;gap:16px; }
  .week-alert .alert-icon { width:34px;height:34px;font-size:17px; }
  .week-alert strong { font-size:15px !important;line-height:1.35; }
  .week-alert ul { margin-top:8px;font-size:13.5px;line-height:1.35; }

  /* Tre comandi della testata con la stessa impronta e lo stesso asse. */
  .top-actions #userButton,.top-actions #exportButton,.top-actions #logoutButton { width:108px;min-width:108px;height:62px;padding:7px 10px !important;display:grid !important;grid-template-rows:27px 15px !important;align-content:center;justify-items:center;row-gap:3px;border-radius:15px; }
  .top-actions #userButton { gap:0; }
  .top-actions #userButton strong,.top-actions .top-action-label { display:block !important;max-width:92px;font-size:12px !important;line-height:15px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .top-actions .top-action-icon { width:25px !important;height:25px !important; }
  html,body { overflow-y:auto !important;overscroll-behavior-y:auto !important; }
  body:not(.modal-open) { position:static !important;top:auto !important; }
  body .hero-emblem { overflow:visible !important;contain:none !important; }
  body .hero-emblem img {
    opacity:1;filter:drop-shadow(0 0 8px rgba(80,228,255,.98)) drop-shadow(0 0 25px rgba(111,65,255,.9)) brightness(1.22) saturate(1.12) !important;
    animation:desktopNeonCinemaV45 5.2s linear infinite !important;
    transform:translate3d(0,0,0);will-change:transform,opacity;backface-visibility:hidden;contain:layout style;
  }
  body .hero-emblem::before {
    width:140% !important;height:136% !important;
    background:radial-gradient(ellipse at center,rgba(124,239,255,.35) 0%,rgba(91,101,255,.24) 30%,rgba(112,45,255,.1) 51%,transparent 72%) !important;
    filter:none !important;
    animation:desktopNeonAuraCinemaV45 5.2s linear infinite !important;
    transform:translate3d(0,0,0);will-change:transform,opacity;
  }
  .stats-sign { display:none !important; }
  body .stats .stat::before { display:none !important;content:none !important;background:none !important; }
  body .stats .stat > * { position:relative;z-index:2; }

  .entry-date-control { display:block;position:relative;margin-top:7px; }
  .entry-date-control #entryDate { position:absolute !important;width:1px !important;height:1px !important;min-width:1px !important;padding:0 !important;margin:0 !important;opacity:0;pointer-events:none; }
  .desktop-date-button { width:100%;min-height:66px;padding:10px 15px !important;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;text-align:left;border:1px solid rgba(126,205,255,.38) !important;border-radius:14px !important;color:#edf9ff !important;background:linear-gradient(125deg,rgba(24,83,177,.7),rgba(63,42,159,.68)) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 20px rgba(3,10,58,.18) !important; }
  .desktop-date-button:hover,.desktop-date-button[aria-expanded="true"] { transform:translateY(-1px);border-color:#72dcff !important;background:linear-gradient(125deg,rgba(31,112,211,.8),rgba(84,48,188,.78)) !important; }
  .desktop-date-icon { width:42px;height:42px;margin:0 !important;display:grid;place-items:center;border-radius:12px;color:#c9f7ff !important;background:linear-gradient(145deg,rgba(70,207,255,.3),rgba(114,76,255,.24));font-size:22px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
  .desktop-date-copy { display:block;min-width:0; }
  .desktop-date-copy small { display:block;margin:0 0 3px;color:rgba(213,236,255,.66);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase; }
  .desktop-date-copy strong { display:block;overflow:hidden;color:#fff;font-size:15px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap; }
  .desktop-date-chevron { margin:0 !important;color:#9beaff !important;font-size:20px !important;text-align:center;transition:transform .2s ease; }
  .desktop-date-button[aria-expanded="true"] .desktop-date-chevron { transform:rotate(180deg); }
}

/* v51: controllo ripartizione e micro-interazioni. */
.unknown-split { cursor:pointer;align-items:center; }
.unknown-split > input { position:absolute;width:1px;height:1px;opacity:0;pointer-events:none; }
.unknown-split .unknown-split-icon { width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border:1px solid rgba(143,218,255,.3);border-radius:12px;color:rgba(197,232,255,.65);background:rgba(255,255,255,.045);transition:color .24s ease,background .24s ease,transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease; }
.unknown-split .unknown-split-icon svg { width:24px;height:24px;display:block;fill:currentColor; }
.unknown-split > input:checked + .unknown-split-icon { color:#071b55;background:linear-gradient(135deg,#b9f5ff,#8fc8ff);transform:scale(1.055);box-shadow:0 0 18px rgba(77,216,255,.38); }
.unknown-split > input:focus-visible + .unknown-split-icon { outline:2px solid #9deaff;outline-offset:3px; }
.unknown-split .unknown-split-copy { min-width:0; }
.input-money input::placeholder { color:rgba(210,229,255,.28);opacity:1; }
.desktop-calendar,.mobile-entry-details { will-change:transform,opacity; }
.mobile-entry-details { animation:none !important; }

/* v53 finale: queste regole devono prevalere sull'intera cascata storica. */
.history-filters .date-filter { position:relative !important;cursor:pointer; }
.history-filters .date-filter input { position:static;cursor:pointer; }
.history-filters .date-filter input::-webkit-calendar-picker-indicator { position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0; }
.history-filters .date-filter .filter-icon { width:42px !important;height:42px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 14px rgba(61,200,255,.12); }
.history-filters .date-filter .filter-icon svg { width:24px !important;height:24px !important; }
.desktop-calendar > p i { display:block;flex:0 0 7px !important;min-width:7px; }
@media (min-width:701px) {
  .history-panel tbody { grid-template-columns:1fr !important; }
  .history-panel tr { width:100% !important; }
  .stats { width:100% !important;margin-left:0 !important;margin-right:0 !important;box-shadow:none !important; }
}

/* v52: filtri premium, schede indipendenti e icone animate. */
.history-filters { display:grid !important;grid-template-columns:repeat(2,minmax(210px,240px));gap:11px;padding:7px;border:1px solid rgba(127,205,255,.18);border-radius:18px;background:linear-gradient(135deg,rgba(21,61,151,.52),rgba(58,34,145,.45));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(4,9,54,.18); }
.history-filters .date-filter,.history-filters .search { width:auto;min-height:62px;display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:11px;margin:0;padding:8px 12px;border:1px solid rgba(141,215,255,.22);border-radius:13px;color:#dff8ff;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.07);transition:border-color .22s ease,background .22s ease,transform .22s ease; }
.history-filters .date-filter:focus-within,.history-filters .search:focus-within { transform:translateY(-1px);border-color:rgba(111,224,255,.68);background:linear-gradient(135deg,rgba(47,143,224,.19),rgba(112,60,205,.14)); }
.history-filters .filter-icon { width:37px;height:37px;display:grid;place-items:center;border-radius:11px;color:#9feaff;background:linear-gradient(145deg,rgba(68,202,255,.2),rgba(121,75,255,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.history-filters .filter-icon svg { width:20px;height:20px;display:block;fill:currentColor; }
.history-filters .filter-copy { min-width:0;display:block; }
.history-filters .filter-copy small { display:block;margin:0 0 2px;color:rgba(209,233,255,.58);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
.history-filters input { width:100% !important;min-width:0;padding:0 !important;border:0 !important;outline:0;color:#fff !important;background:transparent !important;font-size:13px;font-weight:650;box-shadow:none !important; }
.history-filters input::placeholder { color:rgba(218,231,255,.55); }
.history-panel tbody { align-items:start; }
.history-panel tr { align-self:start;height:auto; }
.mobile-entry-details { overflow:hidden; }

.unknown-split .unknown-split-icon { position:relative;overflow:visible; }
.unknown-split .unknown-split-icon svg { position:absolute;inset:7px;width:24px;height:24px;transition:opacity .24s ease,transform .38s cubic-bezier(.18,.88,.24,1),filter .3s ease; }
.unknown-split .check-regular { opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 4px rgba(91,220,255,.35)); }
.unknown-split .check-solid { opacity:0;transform:scale(.45) rotate(-65deg);filter:drop-shadow(0 0 5px rgba(189,116,255,.5)); }
.unknown-split > input:checked + .unknown-split-icon .check-regular { opacity:0;transform:scale(.45) rotate(65deg); }
.unknown-split > input:checked + .unknown-split-icon .check-solid { opacity:1;transform:scale(1) rotate(0);animation:checkPulseV52 .42s ease-out; }
@keyframes checkPulseV52 { 0%{transform:scale(.55) rotate(-35deg)} 65%{transform:scale(1.15) rotate(4deg)} 100%{transform:scale(1) rotate(0)} }

.mobile-entry-toggle i,.desktop-date-chevron { position:relative;overflow:visible; }
.mobile-entry-toggle i > span,.desktop-date-chevron > span { position:absolute;inset:0;transition:opacity .24s ease,transform .38s cubic-bezier(.18,.88,.24,1),filter .3s ease; }
.mobile-entry-toggle .arrow-closed,.desktop-date-chevron .date-arrow-closed { display:grid !important;opacity:1;transform:scale(1) rotate(0); }
.mobile-entry-toggle .arrow-open,.desktop-date-chevron .date-arrow-open { display:grid !important;opacity:0;transform:scale(.45) rotate(-65deg); }
.mobile-entry-toggle[aria-expanded="true"] .arrow-closed,.desktop-date-button[aria-expanded="true"] .date-arrow-closed { opacity:0;transform:scale(.45) rotate(65deg); }
.mobile-entry-toggle[aria-expanded="true"] .arrow-open,.desktop-date-button[aria-expanded="true"] .date-arrow-open { opacity:1;transform:scale(1) rotate(0);animation:arrowPulseV52 .42s ease-out; }
@keyframes arrowPulseV52 { 0%{transform:scale(.52) rotate(-55deg);filter:drop-shadow(0 0 2px rgba(81,223,255,.2))} 68%{transform:scale(1.14) rotate(4deg);filter:drop-shadow(0 0 11px rgba(81,223,255,.85))} 100%{transform:scale(1) rotate(0);filter:drop-shadow(0 0 6px rgba(75,205,255,.35))} }

@media (max-width:700px) {
  .history-filters { grid-template-columns:1fr !important;padding:6px; }
  .history-filters .date-filter,.history-filters .search { min-height:58px; }
}

/* v54 finale: correzioni modale, spunta, legenda e card desktop separate. */
.unknown-split .unknown-split-icon svg { inset:auto !important;left:50% !important;top:50% !important;width:24px !important;height:24px !important;translate:-50% -50%; }
.desktop-calendar > p { position:relative; }
.desktop-calendar > p i { display:none !important; }
.desktop-calendar > p::before { content:"";display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#ffb34f;box-shadow:0 0 7px rgba(255,157,48,.95); }

@media (min-width:701px) {
  html.modal-open { overflow:hidden !important; }
  body.modal-open { position:static !important;left:auto !important;right:auto !important;width:auto !important;height:auto !important;top:auto !important;overflow:hidden !important; }
  dialog::backdrop { background:rgba(0,7,38,.76) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important; }
  .stats { gap:14px !important;padding:0 !important;overflow:visible !important;background:transparent !important;box-shadow:none !important; }
  .stats .stat,.stats .stat-featured { overflow:hidden;background:linear-gradient(145deg,#0b2d78,#241570) !important;border:1px solid rgba(158,213,255,.25) !important;border-radius:20px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 13px 28px rgba(2,8,52,.18) !important; }
}

/* v55 finale: legenda mobile centrata e SVG dell'andamento sempre vettoriale. */
@media (max-width:700px) {
  .desktop-calendar > p { position:relative !important;display:block !important;min-height:16px;padding-left:17px !important; }
  .desktop-calendar > p::before { position:absolute;left:2px;top:50%;margin:0;transform:translateY(-50%); }
}
.trend-line { filter:none !important;will-change:auto !important;shape-rendering:geometricPrecision; }
.trend-line .trend-halo { filter:none !important;stroke:rgba(76,218,255,.34) !important;stroke-width:6px !important;opacity:.72 !important;shape-rendering:geometricPrecision; }
.trend-line .trend-curve { filter:none !important;stroke:#78e9ff !important;stroke-width:2.35px !important;shape-rendering:geometricPrecision; }
.trend-line path { image-rendering:auto; }

/* v56 finale: nessuna rasterizzazione dell'SVG e barre sempre visibili. */
.bar { opacity:1 !important;visibility:visible !important;transform:scaleY(1); }
.chart-animate .trend-line { transform:none !important;animation:trendVectorRevealV56 .72s cubic-bezier(.18,.78,.22,1) both !important; }
.trend-line .trend-halo { display:none !important;filter:none !important; }
.trend-line .trend-curve { filter:none !important;stroke:#78e9ff !important;stroke-width:2.15px !important;shape-rendering:geometricPrecision; }
@keyframes trendVectorRevealV56 {
  from { clip-path:inset(100% 0 0 0);opacity:.35; }
  to { clip-path:inset(0 0 0 0);opacity:1; }
}
@media (max-width:700px) {
  .desktop-calendar > p { padding-left:13px !important; }
  .desktop-calendar > p::before { left:3px !important;width:5px !important;height:5px !important;box-shadow:0 0 5px rgba(255,157,48,.85) !important; }
}

/* v57 finale: rivelazione SVG vettoriale e legenda su un unico asse. */
.chart-animate .trend-line { transform:none !important;animation:none !important;clip-path:none !important; }
.trend-reveal-rect { shape-rendering:crispEdges; }
@media (max-width:700px) {
  .desktop-calendar > p { display:grid !important;grid-template-columns:5px minmax(0,1fr);align-items:center !important;column-gap:8px;min-height:16px;padding-left:0 !important; }
  .desktop-calendar > p::before { position:static !important;display:block !important;width:5px !important;height:5px !important;margin:0 !important;transform:none !important;justify-self:center;align-self:center; }
}

/* v58 finale: riepilogo mobile compatto e protezione verticale PWA. */
.portrait-guard { display:none; }
@media (max-width:700px) {
  .stats { width:100% !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;padding:7px !important;margin-left:0 !important;margin-right:0 !important;overflow:hidden !important;background:#112675 !important;border-radius:20px !important;box-shadow:none !important; }
  .stats .stat,.stats .stat-featured { width:100% !important;min-width:0 !important;min-height:124px !important;height:124px !important;padding:15px !important;border-radius:17px !important;box-sizing:border-box !important; }
}
@media (orientation:landscape) and (pointer:coarse) {
  html,body { width:100% !important;height:100% !important;overflow:hidden !important; }
  body > :not(.portrait-guard) { visibility:hidden !important;pointer-events:none !important; }
  .portrait-guard { position:fixed;z-index:2147483647;inset:0;display:grid;grid-template-rows:auto auto auto;place-content:center;justify-items:center;gap:10px;padding:24px;color:#fff;text-align:center;background:linear-gradient(145deg,#1272d5 0%,#2449c4 44%,#5630d6 76%,#7b25e0 100%); }
  .portrait-guard-mark { width:64px;height:64px;display:grid;place-items:center;margin-bottom:5px;border:1px solid rgba(190,232,255,.52);border-radius:50%;font-family:Didot,"Bodoni MT",Georgia,serif;font-size:25px;box-shadow:inset 0 0 22px rgba(81,208,255,.2),0 0 24px rgba(73,212,255,.28); }
  .portrait-guard strong { font-family:Didot,"Bodoni MT",Georgia,serif;font-size:24px;font-weight:600; }
  .portrait-guard small { color:rgba(232,242,255,.76);font-size:13px; }
}

/* v59 finale: IVA leggibile e legenda mobile legata al testo reale. */
@media (max-width:700px) {
  #vatInput:disabled { opacity:1 !important;color:#fff !important;-webkit-text-fill-color:#fff !important; }
  .input-disabled { opacity:1 !important; }
  .input-disabled > span:first-child { color:rgba(255,255,255,.72) !important; }
  .desktop-calendar > p { display:grid !important;grid-template-columns:4px minmax(0,1fr) !important;align-items:center !important;column-gap:8px !important;padding:0 !important; }
  .desktop-calendar > p::before { display:none !important;content:none !important; }
  .desktop-calendar > p > i { position:static !important;display:block !important;width:4px !important;height:4px !important;min-width:4px !important;margin:0 !important;transform:none !important;align-self:center !important;justify-self:center !important;border-radius:50%;background:#ffb34f !important;box-shadow:0 0 4px rgba(255,157,48,.82) !important; }
}

/* v64 finale: scorrimento interno del profilo esteso con i backup. */
.account-dialog { overflow:hidden !important; }
.account-dialog #accountForm { max-height:calc(100dvh - 32px) !important;overflow-x:hidden !important;overflow-y:auto !important;overscroll-behavior:contain; }
@media (min-width:701px) {
  .account-dialog #accountForm { scrollbar-width:thin !important;scrollbar-color:#72dfff rgba(8,27,92,.45) !important; }
  .account-dialog #accountForm::-webkit-scrollbar { display:block !important;width:8px !important;height:8px !important; }
  .account-dialog #accountForm::-webkit-scrollbar-track { background:rgba(8,27,92,.45) !important; }
  .account-dialog #accountForm::-webkit-scrollbar-thumb { border-radius:999px;background:linear-gradient(#65ddff,#895cff) !important; }
}

/* v65: centro Esporta/Importa separato dal profilo. */
.export-dialog { width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:hidden; }
.export-dialog #exportForm { display:grid;gap:16px;max-height:calc(100dvh - 28px);padding:26px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain; }
.quick-export,.install-settings { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(139,224,255,.28);border-radius:16px;background:linear-gradient(135deg,rgba(31,105,212,.18),rgba(117,57,210,.16)); }
.quick-export > div,.install-settings > div { display:grid;gap:4px; }
.quick-export small,.install-settings small { color:var(--muted);line-height:1.4; }
.quick-export .button,.install-settings .button { flex:0 0 auto; }
.action-status { min-height:18px;margin:0;color:#bff7ff;font-size:12px;line-height:1.4; }
@media (min-width:701px) {
  .export-dialog #exportForm { scrollbar-width:thin;scrollbar-color:#72dfff rgba(8,27,92,.45); }
  .export-dialog #exportForm::-webkit-scrollbar { display:block;width:8px; }
  .export-dialog #exportForm::-webkit-scrollbar-thumb { border-radius:999px;background:linear-gradient(#65ddff,#895cff); }
}
@media (max-width:700px) {
  .export-dialog #exportForm { padding:18px; }
  .quick-export,.install-settings { align-items:stretch;flex-direction:column; }
  .quick-export .button,.install-settings .button { width:100%; }
  .top-actions #exportButton .top-action-label { font-size:7px !important;letter-spacing:-.02em !important; }
}

/* v66 finale: deve prevalere sulle regole storiche della testata. */
#monthDays { display:flex !important;align-items:baseline !important;gap:.28em !important;line-height:1.25 !important; }
#monthDays .stat-count,#monthDays > span { display:inline-block !important;margin:0 !important;color:inherit !important;font:inherit !important;font-weight:inherit !important;line-height:inherit !important;vertical-align:baseline !important; }
.top-actions #exportButton .top-action-label { max-width:none !important;overflow:visible !important;text-overflow:clip !important;white-space:nowrap !important;letter-spacing:0 !important; }
@media (max-width:700px) {
  .top-actions #exportButton .top-action-label { font-size:8px !important;line-height:1 !important; }
}
