/* Pagina di accesso: autosufficiente (il server serve senza accesso solo login.html/js/css e i font). Duplica a mano i token del brand. */
@font-face { font-family: "Sora"; src: url("fonts/Sora-VariableFont_wght.ttf") format("truetype"); font-weight: 100 800; font-display: swap; }
:root { --bg:#f2f3f8; --fg:#070b11; --card:#ebecf3; --border:#cfd2db; --pannello:#fff; --tenue:#565b6b; --fuoco:#1a56ff; --err-bg:#fde6e0; --err:#a3260e; --warn-bg:#fbf0d4; --warn:#7a5300; --btn-bg:#070b11; --btn-fg:#f2f3f8; --logo:url("data:image/svg+xml,%3Csvg%20width%3D%22294%22%20height%3D%2258%22%20viewBox%3D%220%200%20294%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cg%20clip-path%3D%22url%28%23clip0_9_8%29%22%3E%20%3Cpath%20d%3D%22M84.5836%2040.3017C67.4347%2040.3017%2066.103%2031.0755%2066.103%2028.2541C66.103%2021.0629%2071.2022%2017.2606%2080.8485%2017.2606H104.006V16.012C104.006%2010.0369%20100.336%207.71821%2090.9089%207.71821C83.4549%207.71821%2079.6792%209.52615%2079.6792%2013.1015V13.1501H67.4265C67.4103%2012.8907%2067.4022%2012.6313%2067.4022%2012.3718C67.4022%204.28069%2075.7249%200.00811768%2091.4773%200.00811768C108.236%200.00811768%20117.095%206.02377%20117.095%2017.3984V39.499H104.047L104.079%2038.9396C104.233%2036.3534%20104.412%2033.4266%20104.412%2031.262V30.5809H103.137L102.999%2031.0755C101.789%2035.3724%2098.5983%2040.3098%2084.5755%2040.3098L84.5836%2040.3017ZM85.2332%2023.3654C81.5224%2023.3654%2077.5681%2023.6816%2077.5681%2027.4434C77.5681%2029.7864%2079.4925%2032.5754%2088.6435%2032.5754C98.2654%2032.5754%20104.014%2028.4001%20104.014%2024.3626V23.3573H85.2413L85.2332%2023.3654Z%22%20fill%3D%22%23070B11%22%2F%3E%20%3Cpath%20d%3D%22M127.245%2039.4909V0.810735H140.317L140.074%2012.4042H141.503L141.657%2011.9421C143.184%207.48309%20147.503%200%20159.358%200C171.213%200%20176.215%205.44814%20176.215%2016.6687C176.215%2019.7657%20176.02%2022.66%20175.874%2024.2572H163.832C163.889%2023.3167%20163.938%2022.0682%20163.938%2020.8764C163.938%2015.4121%20162.785%209.82611%20154.251%209.82611C144.637%209.82611%20140.342%2017.2119%20140.342%2024.5247V39.4909H127.253H127.245Z%22%20fill%3D%22%23070B11%22%2F%3E%20%3Cpath%20d%3D%22M261.472%2040.3017C244.331%2040.3017%20243%2031.0755%20243%2028.2541C243%2021.0629%20248.099%2017.2606%20257.737%2017.2606H280.903V16.012C280.903%2010.0369%20277.233%207.71821%20267.797%207.71821C260.344%207.71821%20256.568%209.52615%20256.568%2013.1015V13.1501H244.315C244.299%2012.8907%20244.291%2012.6313%20244.291%2012.3718C244.291%204.28069%20252.614%200.00811768%20268.366%200.00811768C285.133%200.00811768%20293.992%206.02377%20293.992%2017.3984V39.499H280.943L280.96%2039.1585C281.114%2036.629%20281.301%2033.4834%20281.301%2031.262V30.5809H280.026L279.888%2031.0755C278.678%2035.3724%20275.487%2040.3098%20261.464%2040.3098L261.472%2040.3017ZM262.122%2023.3654C258.419%2023.3654%20254.465%2023.6816%20254.465%2027.4434C254.465%2029.7864%20256.381%2032.5754%20265.532%2032.5754C275.154%2032.5754%20280.903%2028.4001%20280.903%2024.3626V23.3573H262.122V23.3654Z%22%20fill%3D%22%23070B11%22%2F%3E%20%3Cpath%20d%3D%22M31.6264%2039.4909C30.6927%2039.4909%2029.7751%2039.4261%2028.8901%2039.2882C28.6546%2039.2558%2028.4597%2039.2234%2028.2649%2039.1909C22.443%2038.1532%2017.5387%2034.5373%2014.8104%2029.2757L0%200.672913H13.5194L31.6346%2035.6399L33.3153%2032.3727L49.7254%200.672913H63.2448L48.4343%2029.2757C48.345%2029.4378%2046.7698%2031.9916%2045.9578%2032.9321C42.377%2037.0992%2037.156%2039.4909%2031.6264%2039.4909Z%22%20fill%3D%22%23070B11%22%2F%3E%20%3Cpath%20d%3D%22M199.186%2058C195.97%2058%20192.414%2057.4406%20189.978%2056.8731V47.7929C191.407%2048.0928%20193.77%2048.4658%20196.116%2048.4658C201.419%2048.4658%20204.707%2047.2172%20207.979%2040.4152L208.466%2039.3936L207.533%2039.2801C207.338%2039.2558%20207.167%2039.2315%20206.997%2039.1991L206.932%2039.1747H206.875C201.078%2038.1289%20196.198%2034.5211%20193.477%2029.2675L178.667%200.672913H192.186L210.293%2035.6399L211.219%2033.8239L228.392%200.672913H241.912L227.101%2029.2757L227.061%2029.3324V29.3486L227.02%2029.4216C226.98%2029.4864%20226.955%2029.5351%20226.931%2029.5918L221.417%2040.9421C215.125%2053.8653%20209.725%2058.0081%20199.186%2058.0081V58Z%22%20fill%3D%22%23070B11%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_9_8%22%3E%20%3Crect%20width%3D%22294%22%20height%3D%2258%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3C%2Fsvg%3E%20"); }
:root[data-theme="dark"] { --bg:#070b11; --fg:#f2f3f8; --card:#0f1620; --border:#2a313c; --pannello:#0b121a; --tenue:#a3a8b8; --fuoco:#8fb0ff; --err-bg:#34150f; --err:#ff9d8a; --warn-bg:#2c2410; --warn:#f0cb7a; --btn-bg:#d2ff07; --btn-fg:#070b11; --logo:url("data:image/svg+xml,%3Csvg%20width%3D%22300%22%20height%3D%2259%22%20viewBox%3D%220%200%20300%2059%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cg%20clip-path%3D%22url%28%23clip0_9_26%29%22%3E%20%3Cpath%20d%3D%22M86.3096%2040.9965C68.8107%2040.9965%2067.4519%2031.6113%2067.4519%2028.7413C67.4519%2021.426%2072.6552%2017.5581%2082.4983%2017.5581H106.128V16.2881C106.128%2010.2099%20102.383%207.85126%2092.764%207.85126C85.1579%207.85126%2081.3052%209.69038%2081.3052%2013.3274V13.3768H68.8024C68.7859%2013.1129%2068.7776%2012.849%2068.7776%2012.5851C68.7776%204.35448%2077.2702%200.00823975%2093.344%200.00823975C110.445%200.00823975%20119.485%206.12761%20119.485%2017.6983V40.18H106.17L106.203%2039.611C106.36%2036.9801%20106.543%2034.0029%20106.543%2031.8009V31.1082H105.242L105.101%2031.6113C103.867%2035.9822%20100.61%2041.0047%2086.3013%2041.0047L86.3096%2040.9965ZM86.9725%2023.7682C83.186%2023.7682%2079.151%2024.0899%2079.151%2027.9165C79.151%2030.3%2081.1146%2033.137%2090.4523%2033.137C100.271%2033.137%20106.137%2028.8897%20106.137%2024.7826V23.76H86.9807L86.9725%2023.7682Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M129.842%2040.1718V0.824713H143.181L142.933%2012.6181H144.391L144.548%2012.148C146.106%207.6121%20150.514%200%20162.611%200C174.707%200%20179.811%205.54207%20179.811%2016.9561C179.811%2020.1065%20179.612%2023.0507%20179.463%2024.6754H167.176C167.234%2023.7188%20167.284%2022.4487%20167.284%2021.2364C167.284%2015.6778%20166.107%209.99553%20157.399%209.99553C147.589%209.99553%20143.206%2017.5087%20143.206%2024.9476V40.1718H129.85H129.842Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M266.808%2040.9965C249.318%2040.9965%20247.959%2031.6113%20247.959%2028.7413C247.959%2021.426%20253.162%2017.5581%20262.997%2017.5581H286.636V16.2881C286.636%2010.2099%20282.89%207.85126%20273.263%207.85126C265.657%207.85126%20261.804%209.69038%20261.804%2013.3274V13.3768H249.301C249.285%2013.1129%20249.276%2012.849%20249.276%2012.5851C249.276%204.35448%20257.769%200.00823975%20273.843%200.00823975C290.952%200.00823975%20299.992%206.12761%20299.992%2017.6983V40.18H286.677L286.694%2039.8337C286.851%2037.2605%20287.042%2034.0607%20287.042%2031.8009V31.1082H285.741L285.6%2031.6113C284.365%2035.9822%20281.109%2041.0047%20266.8%2041.0047L266.808%2040.9965ZM267.471%2023.7682C263.693%2023.7682%20259.658%2024.0899%20259.658%2027.9165C259.658%2030.3%20261.613%2033.137%20270.951%2033.137C280.769%2033.137%20286.636%2028.8897%20286.636%2024.7826V23.76H267.471V23.7682Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M32.2719%2040.1718C31.319%2040.1718%2030.3828%2040.1058%2029.4797%2039.9656C29.2394%2039.9326%2029.0405%2039.8996%2028.8417%2039.8666C22.901%2038.811%2017.8966%2035.1328%2015.1127%2029.7804L0%200.684509H13.7953L32.2802%2036.2544L33.9952%2032.9308L50.7402%200.684509H64.5355L49.4228%2029.7804C49.3316%2029.9453%2047.7243%2032.5432%2046.8957%2033.4999C43.2418%2037.7389%2037.9143%2040.1718%2032.2719%2040.1718Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M203.251%2059C199.97%2059%20196.341%2058.4309%20193.855%2057.8536V48.6169C195.313%2048.922%20197.724%2049.3014%20200.119%2049.3014C205.529%2049.3014%20208.885%2048.0313%20212.224%2041.112L212.721%2040.0728L211.768%2039.9574C211.569%2039.9326%20211.395%2039.9079%20211.221%2039.8749L211.155%2039.8501H211.097C205.181%2038.7863%20200.202%2035.1163%20197.426%2029.7721L182.313%200.684509H196.109L214.585%2036.2544L215.53%2034.407L233.053%200.684509H246.849L231.736%2029.7804L231.695%2029.8381V29.8546L231.653%2029.9288C231.612%2029.9948%20231.587%2030.0443%20231.562%2030.102L225.936%2041.648C219.515%2054.794%20214.005%2059.0082%20203.251%2059.0082V59Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_9_26%22%3E%20%3Crect%20width%3D%22300%22%20height%3D%2259%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3C%2Fsvg%3E%20"); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#070b11; --fg:#f2f3f8; --card:#0f1620; --border:#2a313c; --pannello:#0b121a; --tenue:#a3a8b8; --fuoco:#8fb0ff; --err-bg:#34150f; --err:#ff9d8a; --warn-bg:#2c2410; --warn:#f0cb7a; --btn-bg:#d2ff07; --btn-fg:#070b11; --logo:url("data:image/svg+xml,%3Csvg%20width%3D%22300%22%20height%3D%2259%22%20viewBox%3D%220%200%20300%2059%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cg%20clip-path%3D%22url%28%23clip0_9_26%29%22%3E%20%3Cpath%20d%3D%22M86.3096%2040.9965C68.8107%2040.9965%2067.4519%2031.6113%2067.4519%2028.7413C67.4519%2021.426%2072.6552%2017.5581%2082.4983%2017.5581H106.128V16.2881C106.128%2010.2099%20102.383%207.85126%2092.764%207.85126C85.1579%207.85126%2081.3052%209.69038%2081.3052%2013.3274V13.3768H68.8024C68.7859%2013.1129%2068.7776%2012.849%2068.7776%2012.5851C68.7776%204.35448%2077.2702%200.00823975%2093.344%200.00823975C110.445%200.00823975%20119.485%206.12761%20119.485%2017.6983V40.18H106.17L106.203%2039.611C106.36%2036.9801%20106.543%2034.0029%20106.543%2031.8009V31.1082H105.242L105.101%2031.6113C103.867%2035.9822%20100.61%2041.0047%2086.3013%2041.0047L86.3096%2040.9965ZM86.9725%2023.7682C83.186%2023.7682%2079.151%2024.0899%2079.151%2027.9165C79.151%2030.3%2081.1146%2033.137%2090.4523%2033.137C100.271%2033.137%20106.137%2028.8897%20106.137%2024.7826V23.76H86.9807L86.9725%2023.7682Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M129.842%2040.1718V0.824713H143.181L142.933%2012.6181H144.391L144.548%2012.148C146.106%207.6121%20150.514%200%20162.611%200C174.707%200%20179.811%205.54207%20179.811%2016.9561C179.811%2020.1065%20179.612%2023.0507%20179.463%2024.6754H167.176C167.234%2023.7188%20167.284%2022.4487%20167.284%2021.2364C167.284%2015.6778%20166.107%209.99553%20157.399%209.99553C147.589%209.99553%20143.206%2017.5087%20143.206%2024.9476V40.1718H129.85H129.842Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M266.808%2040.9965C249.318%2040.9965%20247.959%2031.6113%20247.959%2028.7413C247.959%2021.426%20253.162%2017.5581%20262.997%2017.5581H286.636V16.2881C286.636%2010.2099%20282.89%207.85126%20273.263%207.85126C265.657%207.85126%20261.804%209.69038%20261.804%2013.3274V13.3768H249.301C249.285%2013.1129%20249.276%2012.849%20249.276%2012.5851C249.276%204.35448%20257.769%200.00823975%20273.843%200.00823975C290.952%200.00823975%20299.992%206.12761%20299.992%2017.6983V40.18H286.677L286.694%2039.8337C286.851%2037.2605%20287.042%2034.0607%20287.042%2031.8009V31.1082H285.741L285.6%2031.6113C284.365%2035.9822%20281.109%2041.0047%20266.8%2041.0047L266.808%2040.9965ZM267.471%2023.7682C263.693%2023.7682%20259.658%2024.0899%20259.658%2027.9165C259.658%2030.3%20261.613%2033.137%20270.951%2033.137C280.769%2033.137%20286.636%2028.8897%20286.636%2024.7826V23.76H267.471V23.7682Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M32.2719%2040.1718C31.319%2040.1718%2030.3828%2040.1058%2029.4797%2039.9656C29.2394%2039.9326%2029.0405%2039.8996%2028.8417%2039.8666C22.901%2038.811%2017.8966%2035.1328%2015.1127%2029.7804L0%200.684509H13.7953L32.2802%2036.2544L33.9952%2032.9308L50.7402%200.684509H64.5355L49.4228%2029.7804C49.3316%2029.9453%2047.7243%2032.5432%2046.8957%2033.4999C43.2418%2037.7389%2037.9143%2040.1718%2032.2719%2040.1718Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3Cpath%20d%3D%22M203.251%2059C199.97%2059%20196.341%2058.4309%20193.855%2057.8536V48.6169C195.313%2048.922%20197.724%2049.3014%20200.119%2049.3014C205.529%2049.3014%20208.885%2048.0313%20212.224%2041.112L212.721%2040.0728L211.768%2039.9574C211.569%2039.9326%20211.395%2039.9079%20211.221%2039.8749L211.155%2039.8501H211.097C205.181%2038.7863%20200.202%2035.1163%20197.426%2029.7721L182.313%200.684509H196.109L214.585%2036.2544L215.53%2034.407L233.053%200.684509H246.849L231.736%2029.7804L231.695%2029.8381V29.8546L231.653%2029.9288C231.612%2029.9948%20231.587%2030.0443%20231.562%2030.102L225.936%2041.648C219.515%2054.794%20214.005%2059.0082%20203.251%2059.0082V59Z%22%20fill%3D%22%23F2F3F8%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_9_26%22%3E%20%3Crect%20width%3D%22300%22%20height%3D%2259%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3C%2Fsvg%3E%20"); } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 400 16px/1.45 "Sora", system-ui, sans-serif; }
:focus-visible { outline: 3px solid var(--fuoco); outline-offset: 2px; }
.login { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.login-card { width: min(420px, 100%); display: grid; gap: 22px; }
.logo { display: block; width: 150px; height: 30px; background: var(--logo) no-repeat left center / contain; }
h1 { margin: 0; font-size: 40px; font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.campo { display: grid; gap: 6px; }
label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
input { font: inherit; color: inherit; min-height: 44px; padding: 10px 14px; border-radius: 14px; border: 1.5px solid var(--border); background: var(--pannello); width: 100%; }
input:focus-visible { border-color: var(--fuoco); }
.btn { min-height: 44px; border-radius: 999px; border: 0; background: var(--btn-bg); color: var(--btn-fg); font: 600 14px "Sora", system-ui, sans-serif; cursor: pointer; padding: 0 22px; }
.btn:disabled { opacity: .5; cursor: wait; }
.avviso { display: flex; gap: 12px; padding: 14px 18px; border-radius: 14px; font-size: 14px; }
.avviso-errore { background: var(--err-bg); color: var(--err); }
.avviso-warn { background: var(--warn-bg); color: var(--warn); }
