/* ══════════════════════════════════════════════════════════════════════════
   LA SCHEDA DI CARICAMENTO DI LEDROUTE — GENERATA, NON SI MODIFICA A MANO.
   Sorgente: frontend/assets/marchio/logo-{chiaro,scuro}.svg
   Rigenera:  node scripts/genera-caricamento-css.cjs
   Verifica:  node scripts/genera-caricamento-css.cjs --verifica

   E' la stessa veste dei due veli d'avvio dell'app e del box delle Fasi 1 e 2
   (led-layout.html): logo esteso fermo, una riga che dice a che punto siamo, e
   sotto una barra INDETERMINATA — un segmento che va e torna, non una corsa
   finta da 0 a 100 che mentirebbe sul tempo che manca.

   Due fondi, un solo impianto:
     .lr-carico            scheda bianca su fondo chiaro  (logo-chiaro.svg)
     .lr-carico.su-scuro   scheda di vetro su fondo notte (logo-scuro.svg: il
                           negativo, con «Route» #F2F6FC — sul notte il #11263D
                           misura 1,23:1 e la parola sparisce)

   Markup, quattro nodi e nessuna dipendenza:
     <div class="lr-carico">
       <div class="lr-carico-scheda">
         <div class="lr-carico-logo" role="img" aria-label="LedRoute"></div>
         <p class="lr-carico-fase">Carico…</p>
         <div class="lr-carico-binario"><i class="lr-carico-barra"></i></div>
       </div>
     </div>
   ══════════════════════════════════════════════════════════════════════════ */

.lr-carico{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;
  justify-content:center;background:#eef2f6;opacity:1;visibility:visible;
  transition:opacity .32s ease, visibility 0s linear 0s}

/* ⚠️ LO SPEGNIMENTO NON TOGLIE IL DISPLAY. Con `display:none` il velo sparisce di
   scatto e si vede il taglio; cosi' invece si dissolve in 320 ms e solo alla fine
   diventa invisibile ai click. E' la ricetta gia' usata da amministrazione.html. */
.lr-carico[hidden]{display:flex!important;opacity:0;visibility:hidden;
  pointer-events:none;transition:opacity .32s ease, visibility 0s linear .32s}

.lr-carico-scheda{display:flex;flex-direction:column;align-items:center;gap:14px;
  min-width:320px;padding:26px 34px 22px;border-radius:16px;background:#fff;
  box-shadow:0 14px 44px rgba(13,28,51,.22);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

/* 238 px: la stessa misura del box delle Fasi. Il rapporto del marchio e'
   4,1038:1, quindi l'altezza viene da sola e non serve dichiararla. */
.lr-carico-logo{width:238px;aspect-ratio:13990.38/3409.12;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13990.38 3409.12' width='13990.38' height='3409.12' role='img' aria-label='LedRoute'%3E %3Cdefs%3E %3ClinearGradient id='lrBollo' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='3409.12' y2='3409.12'%3E %3Cstop offset='0' stop-color='%231800B5'/%3E %3Cstop offset='0.521569' stop-color='%231677FF'/%3E %3Cstop offset='1' stop-color='%231677FF'/%3E %3C/linearGradient%3E %3C/defs%3E %3Cg id='bollo'%3E %3Cpath fill='url(%23lrBollo)' d='M719.11 0l1970.89 0c397.09,0 719.12,322.03 719.12,719.11l-0.01 1970.9c0.01,397.07 -322.02,719.1 -719.1,719.1l-1970.9 0.01c-397.07,-0.01 -719.1,-322.04 -719.1,-719.12l-0.01 -1970.89c0.01,-397.08 322.04,-719.11 719.12,-719.11z'/%3E %3Cpath fill='%23FFFFFF' fill-rule='nonzero' d='M1000.72 739.68c81.97,0 148.45,66.48 148.45,148.44l-0.01 1261.76c0,136.07 86.59,222.66 222.66,222.66l334.01 0c81.97,0 148.44,66.47 148.44,148.44 0,81.97 -66.48,148.44 -148.44,148.44l-334.01 0c-333.99,0 -519.55,-185.55 -519.55,-519.55l0 -1261.76c0.01,-81.97 66.48,-148.44 148.45,-148.44l-0.01 0zm573.36 590.08l470.07 0c272.15,0 432.96,173.18 432.96,432.96 0,259.78 -160.81,432.96 -432.96,432.96l-470.07 0c-81.97,0 -148.44,-66.48 -148.44,-148.44 0,-81.97 66.48,-148.44 148.44,-148.44l470.07 0c86.59,0 136.07,-49.48 136.07,-136.07 0,-86.59 -49.48,-136.07 -136.07,-136.07l-470.07 0c-81.97,0 -148.44,-66.47 -148.44,-148.44 0,-81.97 66.48,-148.44 148.44,-148.44l0 0zm376.06 826.33c-14.86,-22.33 -22.82,-48.59 -22.82,-75.44 0,-75.14 60.93,-136.07 136.07,-136.07 37.72,0 73.8,15.68 99.52,43.28l371.11 470.07c14.87,22.32 22.83,48.58 22.83,75.44 0,75.14 -60.94,136.07 -136.07,136.07 -37.72,0 -73.81,-15.68 -99.53,-43.28l-371.11 -470.07z'/%3E %3C/g%3E %3Cg id='logotipo'%3E %3Cpath fill='%231677FF' fill-rule='nonzero' d='M4383.15 2467.12l0 -1454.28 293.77 0 0 1231.35 466.71 0 0 222.94 -760.48 0 0 0zm1445.94 16.67c-168.06,0 -304.87,-54.53 -410.45,-163.55 -105.56,-109.04 -158.35,-253.15 -158.35,-432.33 0,-179.18 53.13,-322.6 159.39,-430.25 106.26,-107.64 243.77,-161.47 412.53,-161.47 168.76,0 307.32,52.43 415.66,157.31 108.34,104.86 162.51,244.8 162.51,419.82 0,40.29 -2.77,77.79 -8.33,112.51l-841.73 0c6.94,75.01 34.72,135.43 83.34,181.27 48.61,45.84 110.43,68.75 185.43,68.75 101.4,0 176.41,-41.67 225.02,-125.01l316.69 0c-33.33,109.73 -97.92,199.32 -193.76,268.78 -95.84,69.45 -211.81,104.17 -347.94,104.17l0 0zm277.1 -687.55c-4.16,-76.39 -32.29,-137.51 -84.38,-183.35 -52.08,-45.84 -114.94,-68.76 -188.55,-68.76 -73.62,0 -135.07,22.92 -184.38,68.76 -49.32,45.84 -78.83,106.95 -88.55,183.35l545.87 0 0 0zm1270.94 342.73c61.12,-60.42 91.68,-143.42 91.68,-248.98 0,-105.56 -30.56,-188.55 -91.68,-248.97 -61.11,-60.42 -132.65,-90.63 -214.6,-90.63 -81.95,0 -153.14,29.86 -213.56,89.59 -60.43,59.73 -90.63,142.37 -90.63,247.94 0,105.56 30.57,188.89 91.67,250.02 61.12,61.12 132.3,91.68 213.57,91.68 81.25,0 152.45,-30.21 213.56,-90.63l0 0zm-661.52 177.1c-103.47,-111.81 -155.22,-254.53 -155.22,-428.16 0,-173.63 51.4,-315.66 154.18,-426.08 102.79,-110.43 233.36,-165.63 391.7,-165.63 158.35,0 279.19,65.28 362.54,195.85l0 -566.71 291.68 0 0 1541.79 -291.68 0 0 -193.76c-87.51,140.29 -209.05,210.43 -364.62,210.43 -155.56,0 -285.08,-55.91 -388.57,-167.72z'/%3E %3Cpath fill='%2311263D' fill-rule='nonzero' d='M8396.19 1887.91l-95.84 0 0 579.21 -293.78 0 0 -1454.28 535.47 0c168.07,0 297.59,42.01 388.57,126.05 90.98,84.04 136.46,187.86 136.46,311.49 0,91.68 -27.77,177.1 -83.34,256.27 -55.56,79.17 -143.07,133.35 -262.52,162.51l370.86 597.97 -347.94 0 -347.94 -579.21 0 0zm145.85 -650.05l-241.69 0 0 425.03 241.69 0c73.62,0 129.87,-19.1 168.76,-57.29 38.88,-38.2 58.33,-89.95 58.33,-155.22 0,-65.29 -19.44,-117.03 -58.33,-155.22 -38.89,-38.2 -95.14,-57.29 -168.76,-57.29l0 0zm1329.27 997.99c81.96,0 152.45,-30.2 211.47,-90.62 59.04,-60.43 88.55,-145.85 88.55,-256.28 0,-110.42 -29.16,-195.5 -87.51,-255.23 -58.33,-59.72 -128.82,-89.59 -211.47,-89.59 -82.64,0 -152.44,29.87 -209.39,89.59 -56.94,59.73 -85.42,145.15 -85.42,256.27 0,111.13 28.48,196.55 85.42,256.28 56.95,59.72 126.4,89.58 208.35,89.58l0 0zm-422.95 83.35c-112.51,-109.73 -168.76,-253.49 -168.76,-431.28 0,-177.8 56.94,-320.87 170.85,-429.21 113.9,-108.34 255.23,-162.51 423.99,-162.51 168.76,0 310.09,54.17 423.99,162.51 113.9,108.34 170.86,251.41 170.86,429.21 0,177.79 -57.3,321.54 -171.89,431.28 -114.6,109.73 -256.62,164.59 -426.08,164.59 -169.46,0 -310.43,-54.87 -422.95,-164.59l0 0zm2050.16 -370.86l0 -635.47 293.77 0 0 1154.26 -293.77 0 0 -175.01c-73.61,126.39 -193.76,189.6 -360.44,189.6 -130.57,0 -237.52,-43.41 -320.86,-130.22 -83.35,-86.81 -125.02,-207.3 -125.02,-361.48l0 -677.14 291.69 0 0 635.47c0,90.28 22.92,159.73 68.76,208.35 45.84,48.61 108.34,72.93 187.51,72.93 79.17,0 142.03,-24.31 188.55,-72.93 46.54,-48.61 69.8,-118.06 69.8,-208.35l0 0zm1054.25 272.93l139.6 0 0 245.86 -185.44 0c-118.05,0 -209.04,-27.09 -272.93,-81.25 -63.89,-54.18 -95.84,-143.77 -95.84,-268.78l0 -564.63 -122.93 0 0 -239.6 122.93 0 0 -285.44 293.77 0 0 285.44 258.35 0 0 239.6 -258.35 0 0 564.63c0,37.5 9.03,64.25 27.09,80.21 18.06,15.97 49.32,23.96 93.75,23.96l0 0zm856.32 262.52c-168.07,0 -304.88,-54.53 -410.45,-163.55 -105.57,-109.04 -158.35,-253.15 -158.35,-432.33 0,-179.18 53.13,-322.6 159.39,-430.25 106.26,-107.64 243.76,-161.47 412.53,-161.47 168.76,0 307.32,52.43 415.66,157.31 108.34,104.86 162.51,244.8 162.51,419.82 0,40.29 -2.78,77.79 -8.34,112.51l-841.73 0c6.95,75.01 34.73,135.43 83.34,181.27 48.62,45.84 110.43,68.75 185.44,68.75 101.4,0 176.41,-41.67 225.01,-125.01l316.7 0c-33.34,109.73 -97.93,199.32 -193.76,268.78 -95.85,69.45 -211.82,104.17 -347.94,104.17l0 0zm277.1 -687.55c-4.17,-76.39 -32.29,-137.51 -84.38,-183.35 -52.09,-45.84 -114.94,-68.76 -188.55,-68.76 -73.62,0 -135.08,22.92 -184.39,68.76 -49.31,45.84 -78.82,106.95 -88.55,183.35l545.88 0zm0 0l0 0 0 0z'/%3E %3C/g%3E %3C/svg%3E") center/contain no-repeat}

.lr-carico-fase{margin:0;min-height:18px;font-size:14px;font-weight:700;
  color:#11263D;text-align:center}
.lr-carico-binario{width:238px;height:8px;border-radius:5px;background:#e3e9f1;
  overflow:hidden}
.lr-carico-barra{display:block;height:100%;width:35%;border-radius:5px;
  background:#1677FF;animation:lrCaricoAttesa 1.4s ease-in-out infinite}
@keyframes lrCaricoAttesa{from{transform:translateX(-100%)}to{transform:translateX(300%)}}

/* ── SUL FONDO NOTTE (accesso.html: #061023 con la texture dei percorsi) ──
   Qui una scheda bianca sarebbe un rettangolo acceso in mezzo alla notte. La
   scheda si fa di vetro, e il logo passa al negativo del kit. */
.lr-carico.su-scuro{background:rgba(5,10,22,.88);backdrop-filter:blur(3px)}
.lr-carico.su-scuro .lr-carico-scheda{background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.lr-carico.su-scuro .lr-carico-logo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13990.38 3409.12' width='13990.38' height='3409.12' role='img' aria-label='LedRoute'%3E %3Cdefs%3E %3ClinearGradient id='lrBollo' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='3409.12' y2='3409.12'%3E %3Cstop offset='0' stop-color='%231800B5'/%3E %3Cstop offset='0.521569' stop-color='%231677FF'/%3E %3Cstop offset='1' stop-color='%231677FF'/%3E %3C/linearGradient%3E %3C/defs%3E %3Cg id='bollo'%3E %3Cpath fill='url(%23lrBollo)' d='M719.11 0l1970.89 0c397.09,0 719.12,322.03 719.12,719.11l-0.01 1970.9c0.01,397.07 -322.02,719.1 -719.1,719.1l-1970.9 0.01c-397.07,-0.01 -719.1,-322.04 -719.1,-719.12l-0.01 -1970.89c0.01,-397.08 322.04,-719.11 719.12,-719.11z'/%3E %3Cpath fill='%23FFFFFF' fill-rule='nonzero' d='M1000.72 739.68c81.97,0 148.45,66.48 148.45,148.44l-0.01 1261.76c0,136.07 86.59,222.66 222.66,222.66l334.01 0c81.97,0 148.44,66.47 148.44,148.44 0,81.97 -66.48,148.44 -148.44,148.44l-334.01 0c-333.99,0 -519.55,-185.55 -519.55,-519.55l0 -1261.76c0.01,-81.97 66.48,-148.44 148.45,-148.44l-0.01 0zm573.36 590.08l470.07 0c272.15,0 432.96,173.18 432.96,432.96 0,259.78 -160.81,432.96 -432.96,432.96l-470.07 0c-81.97,0 -148.44,-66.48 -148.44,-148.44 0,-81.97 66.48,-148.44 148.44,-148.44l470.07 0c86.59,0 136.07,-49.48 136.07,-136.07 0,-86.59 -49.48,-136.07 -136.07,-136.07l-470.07 0c-81.97,0 -148.44,-66.47 -148.44,-148.44 0,-81.97 66.48,-148.44 148.44,-148.44l0 0zm376.06 826.33c-14.86,-22.33 -22.82,-48.59 -22.82,-75.44 0,-75.14 60.93,-136.07 136.07,-136.07 37.72,0 73.8,15.68 99.52,43.28l371.11 470.07c14.87,22.32 22.83,48.58 22.83,75.44 0,75.14 -60.94,136.07 -136.07,136.07 -37.72,0 -73.81,-15.68 -99.53,-43.28l-371.11 -470.07z'/%3E %3C/g%3E %3Cg id='logotipo'%3E %3Cpath fill='%231677FF' fill-rule='nonzero' d='M4383.15 2467.12l0 -1454.28 293.77 0 0 1231.35 466.71 0 0 222.94 -760.48 0 0 0zm1445.94 16.67c-168.06,0 -304.87,-54.53 -410.45,-163.55 -105.56,-109.04 -158.35,-253.15 -158.35,-432.33 0,-179.18 53.13,-322.6 159.39,-430.25 106.26,-107.64 243.77,-161.47 412.53,-161.47 168.76,0 307.32,52.43 415.66,157.31 108.34,104.86 162.51,244.8 162.51,419.82 0,40.29 -2.77,77.79 -8.33,112.51l-841.73 0c6.94,75.01 34.72,135.43 83.34,181.27 48.61,45.84 110.43,68.75 185.43,68.75 101.4,0 176.41,-41.67 225.02,-125.01l316.69 0c-33.33,109.73 -97.92,199.32 -193.76,268.78 -95.84,69.45 -211.81,104.17 -347.94,104.17l0 0zm277.1 -687.55c-4.16,-76.39 -32.29,-137.51 -84.38,-183.35 -52.08,-45.84 -114.94,-68.76 -188.55,-68.76 -73.62,0 -135.07,22.92 -184.38,68.76 -49.32,45.84 -78.83,106.95 -88.55,183.35l545.87 0 0 0zm1270.94 342.73c61.12,-60.42 91.68,-143.42 91.68,-248.98 0,-105.56 -30.56,-188.55 -91.68,-248.97 -61.11,-60.42 -132.65,-90.63 -214.6,-90.63 -81.95,0 -153.14,29.86 -213.56,89.59 -60.43,59.73 -90.63,142.37 -90.63,247.94 0,105.56 30.57,188.89 91.67,250.02 61.12,61.12 132.3,91.68 213.57,91.68 81.25,0 152.45,-30.21 213.56,-90.63l0 0zm-661.52 177.1c-103.47,-111.81 -155.22,-254.53 -155.22,-428.16 0,-173.63 51.4,-315.66 154.18,-426.08 102.79,-110.43 233.36,-165.63 391.7,-165.63 158.35,0 279.19,65.28 362.54,195.85l0 -566.71 291.68 0 0 1541.79 -291.68 0 0 -193.76c-87.51,140.29 -209.05,210.43 -364.62,210.43 -155.56,0 -285.08,-55.91 -388.57,-167.72z'/%3E %3Cpath fill='%23F2F6FC' fill-rule='nonzero' d='M8396.19 1887.91l-95.84 0 0 579.21 -293.78 0 0 -1454.28 535.47 0c168.07,0 297.59,42.01 388.57,126.05 90.98,84.04 136.46,187.86 136.46,311.49 0,91.68 -27.77,177.1 -83.34,256.27 -55.56,79.17 -143.07,133.35 -262.52,162.51l370.86 597.97 -347.94 0 -347.94 -579.21 0 0zm145.85 -650.05l-241.69 0 0 425.03 241.69 0c73.62,0 129.87,-19.1 168.76,-57.29 38.88,-38.2 58.33,-89.95 58.33,-155.22 0,-65.29 -19.44,-117.03 -58.33,-155.22 -38.89,-38.2 -95.14,-57.29 -168.76,-57.29l0 0zm1329.27 997.99c81.96,0 152.45,-30.2 211.47,-90.62 59.04,-60.43 88.55,-145.85 88.55,-256.28 0,-110.42 -29.16,-195.5 -87.51,-255.23 -58.33,-59.72 -128.82,-89.59 -211.47,-89.59 -82.64,0 -152.44,29.87 -209.39,89.59 -56.94,59.73 -85.42,145.15 -85.42,256.27 0,111.13 28.48,196.55 85.42,256.28 56.95,59.72 126.4,89.58 208.35,89.58l0 0zm-422.95 83.35c-112.51,-109.73 -168.76,-253.49 -168.76,-431.28 0,-177.8 56.94,-320.87 170.85,-429.21 113.9,-108.34 255.23,-162.51 423.99,-162.51 168.76,0 310.09,54.17 423.99,162.51 113.9,108.34 170.86,251.41 170.86,429.21 0,177.79 -57.3,321.54 -171.89,431.28 -114.6,109.73 -256.62,164.59 -426.08,164.59 -169.46,0 -310.43,-54.87 -422.95,-164.59l0 0zm2050.16 -370.86l0 -635.47 293.77 0 0 1154.26 -293.77 0 0 -175.01c-73.61,126.39 -193.76,189.6 -360.44,189.6 -130.57,0 -237.52,-43.41 -320.86,-130.22 -83.35,-86.81 -125.02,-207.3 -125.02,-361.48l0 -677.14 291.69 0 0 635.47c0,90.28 22.92,159.73 68.76,208.35 45.84,48.61 108.34,72.93 187.51,72.93 79.17,0 142.03,-24.31 188.55,-72.93 46.54,-48.61 69.8,-118.06 69.8,-208.35l0 0zm1054.25 272.93l139.6 0 0 245.86 -185.44 0c-118.05,0 -209.04,-27.09 -272.93,-81.25 -63.89,-54.18 -95.84,-143.77 -95.84,-268.78l0 -564.63 -122.93 0 0 -239.6 122.93 0 0 -285.44 293.77 0 0 285.44 258.35 0 0 239.6 -258.35 0 0 564.63c0,37.5 9.03,64.25 27.09,80.21 18.06,15.97 49.32,23.96 93.75,23.96l0 0zm856.32 262.52c-168.07,0 -304.88,-54.53 -410.45,-163.55 -105.57,-109.04 -158.35,-253.15 -158.35,-432.33 0,-179.18 53.13,-322.6 159.39,-430.25 106.26,-107.64 243.76,-161.47 412.53,-161.47 168.76,0 307.32,52.43 415.66,157.31 108.34,104.86 162.51,244.8 162.51,419.82 0,40.29 -2.78,77.79 -8.34,112.51l-841.73 0c6.95,75.01 34.73,135.43 83.34,181.27 48.62,45.84 110.43,68.75 185.44,68.75 101.4,0 176.41,-41.67 225.01,-125.01l316.7 0c-33.34,109.73 -97.93,199.32 -193.76,268.78 -95.85,69.45 -211.82,104.17 -347.94,104.17l0 0zm277.1 -687.55c-4.17,-76.39 -32.29,-137.51 -84.38,-183.35 -52.09,-45.84 -114.94,-68.76 -188.55,-68.76 -73.62,0 -135.08,22.92 -184.39,68.76 -49.31,45.84 -78.82,106.95 -88.55,183.35l545.88 0zm0 0l0 0 0 0z'/%3E %3C/g%3E %3C/svg%3E")}
.lr-carico.su-scuro .lr-carico-fase{color:#F2F6FC}
.lr-carico.su-scuro .lr-carico-binario{background:rgba(255,255,255,.14)}

/* ── LA RIGA SOTTILE, per i caricamenti che stanno DENTRO un box e non a schermo
   intero (il pannello dell'abbonamento mentre legge piani e fatture). Stessa
   famiglia, misure da riga: il marchio a 132 px e la barra larga uguale. */
.lr-carico-riga{display:flex;flex-direction:column;align-items:center;gap:11px;
  padding:34px 20px;text-align:center}
.lr-carico-riga .lr-carico-logo{width:132px}
.lr-carico-riga .lr-carico-binario{width:132px;height:6px}
.lr-carico-riga .lr-carico-fase{font-size:13px;font-weight:600;color:#687386}

/* ── IL FILO, per le frasi che aspettano DENTRO una scheda che ha gia' altro da
   mostrare (il metodo di pagamento mentre legge la carta da Stripe, il riquadro
   del box sicuro prima che Stripe lo monti). Qui il marchio sarebbe di troppo: si
   ripete tre volte nella stessa pagina e ruba la scena al contenuto vero. Resta il
   moto, che e' quello che dice «sto lavorando». */
.lr-carico-filo{display:block;width:132px;max-width:100%;height:3px;margin:9px 0 0;
  border-radius:3px;background:#e3e9f1;overflow:hidden;position:relative}
.lr-carico-filo::after{content:"";position:absolute;top:0;left:0;height:100%;width:35%;
  border-radius:3px;background:#1677FF;animation:lrCaricoAttesa 1.4s ease-in-out infinite}

/* ⚠️ CHI NON VUOLE IL MOTO non deve restare senza segnale: la barra non si ferma
   e basta, si riempie tutta e resta li' a dire «sto lavorando». */
@media (prefers-reduced-motion: reduce){
  .lr-carico-barra,.lr-carico-filo::after{animation:none;width:100%;opacity:.55}
  .lr-carico{transition:none}
}
