:root{--verde-profondo: #163a26;--verde-brace: #2f9e44;--verde-chiaro: #7cc576;--crema: #f6f3ec;--ambra: #d68c34;--testo-muto: #5c6b66;--bordo: #d9d3c4;--errore: #b3402f;--radius: 6px;--font-sistema: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sistema);background:var(--crema);color:var(--verde-profondo)}.pagina-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.riquadro-auth{width:100%;max-width:400px;background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);padding:40px 36px;position:relative;overflow:hidden}.riquadro-auth:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--verde-brace),var(--verde-chiaro))}.riquadro-auth h1{font-size:22px;margin:0 0 4px}.sottotitolo{color:var(--testo-muto);font-size:14px;margin:0 0 28px}.campo{margin-bottom:16px}.campo label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.campo input{width:100%;padding:10px 12px;border:1px solid var(--bordo);border-radius:var(--radius);font-size:14px;font-family:inherit}.campo input:focus{outline:2px solid var(--verde-brace);outline-offset:1px}.pulsante-primario{width:100%;padding:11px;background:var(--verde-profondo);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.pulsante-primario:disabled{opacity:.6;cursor:not-allowed}.pulsante-primario:hover:not(:disabled){background:var(--verde-brace)}.separatore{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--testo-muto);font-size:12px}.separatore:before,.separatore:after{content:"";flex:1;height:1px;background:var(--bordo)}.pulsante-oauth{width:100%;padding:10px;border:1px solid var(--bordo);border-radius:var(--radius);background:#fff;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--verde-profondo)}.pulsante-oauth:hover{background:#faf8f3}.messaggio-errore{background:#fbeae6;color:var(--errore);border:1px solid #f0c4ba;border-radius:var(--radius);padding:10px 12px;font-size:13px;margin-bottom:16px}.messaggio-successo{background:#eaf3ee;color:var(--verde-brace);border:1px solid #bcdccb;border-radius:var(--radius);padding:10px 12px;font-size:13px;margin-bottom:16px}.link-secondario{text-align:center;font-size:13px;color:var(--testo-muto);margin-top:20px}.link-secondario a{color:var(--verde-brace);font-weight:600;text-decoration:none}.codice-referral{font-family:SF Mono,Courier New,monospace;background:var(--crema);border:1px dashed var(--bordo);padding:10px 12px;border-radius:var(--radius);font-size:15px;font-weight:700;letter-spacing:.5px;text-align:center;margin-top:6px}.layout-area-riservata{min-height:100vh;display:flex}.sidebar{width:240px;flex-shrink:0;background:var(--verde-profondo);color:#fff;display:flex;flex-direction:column;padding:24px 16px}.sidebar-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:28px;padding:0 8px}.sidebar-logo{width:72px;height:auto;object-fit:contain}.sidebar-titolo{font-size:15px;font-weight:700;margin:0;line-height:1.3}.sidebar-sottotitolo{font-size:12px;color:#fff9;margin:2px 0 0}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav a{display:block;padding:10px 12px;border-radius:var(--radius);color:#fffc;text-decoration:none;font-size:14px;font-weight:500}.sidebar-nav a:hover{background:#ffffff14;color:#fff}.sidebar-nav a.attivo{background:var(--verde-brace);color:#fff}.sidebar-piede{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;margin-top:16px}.sidebar-email{font-size:12px;color:#fff9;padding:0 8px;margin-bottom:10px;word-break:break-all}.pulsante-logout{width:100%;padding:9px 12px;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);color:#ffffffd9;font-size:13px;font-weight:500;cursor:pointer}.pulsante-logout:hover{background:#ffffff14}.contenuto-principale{flex:1;padding:40px 48px;max-width:640px}.contenuto-principale h1{font-size:22px;margin:0 0 4px}
