:root{--bg:#f4efeb;--bg-soft:#f8f4f1;--ink:#2f252b;--muted:#6f5f68;--line:#36273026;--card:#ffffffdb;--banana:#e0b55d;--purifica:#c28399;--aracnide:#a76f86}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:radial-gradient(80vw 80vw at -10% -10%, #edd7df 0%, transparent 56%), radial-gradient(70vw 70vw at 110% 20%, #ebdde5 0%, transparent 54%), linear-gradient(145deg, var(--bg), var(--bg-soft));margin:0;font-family:Avenir Next,Nunito,sans-serif}a{color:inherit}.login-shell{grid-template-columns:minmax(260px,40vw) minmax(320px,520px);justify-content:center;align-items:stretch;gap:18px;width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:24px 18px;display:grid}.login-art{border:1px solid var(--line);background:linear-gradient(150deg,#6741545c,#503a4629),url(/images/sfondo-cornelia.png) 50%/cover;border-radius:22px;min-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 18px 42px #39252e29}.login-panel{border:1px solid var(--line);background:linear-gradient(160deg,#ffffffc7,#f8f4f1d1);border-radius:22px;place-items:center;padding:28px;display:grid;box-shadow:0 18px 42px #39252e1f}.cornelia-form{background:var(--card);border:1px solid var(--line);border-radius:20px;gap:14px;width:100%;max-width:390px;padding:24px;display:grid;box-shadow:0 18px 40px #39252e29}.cornelia-form h1{margin:0;font-size:2rem}.cornelia-form p{color:var(--muted);margin:0}.cornelia-form label{gap:6px;font-size:.95rem;font-weight:600;display:grid}.cornelia-form input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.96rem}.cornelia-form button,.logout-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8e6074,#6f4f62);border:0;border-radius:12px;padding:11px 14px;font-weight:700}.cornelia-form button:disabled,.logout-btn:disabled{opacity:.6;cursor:default}.error-msg{color:#a21f3f;font-weight:600}.landing-shell{width:min(1080px,100%);margin:0 auto;padding:32px 18px 40px}.landing-topbar{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:10px;display:flex}.user-chip{color:var(--muted);font-size:.8rem}.hero{text-align:center;margin-bottom:32px}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:800;display:inline-block}.hero h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.06}.subtitle{max-width:700px;color:var(--muted);margin:12px auto 0;font-size:clamp(1rem,1.6vw,1.15rem)}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.card{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:inherit;border-radius:24px;padding:24px;text-decoration:none;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 16px 44px #62404b24}.card:before{content:"";opacity:.25;background:var(--accent);border-radius:50%;width:180px;height:180px;position:absolute;top:-80px;right:-70px}.card:hover{transform:translateY(-6px);box-shadow:0 26px 54px #18202f33}.logo-ring{border:3px solid var(--accent);background:#fff;border-radius:50%;place-items:center;width:112px;height:112px;margin-bottom:16px;display:grid;overflow:hidden;box-shadow:0 10px 24px #18202f26,inset 0 0 0 8px #ffffffe6}.logo-ring img{object-fit:contain;border-radius:50%;min-width:84px;min-height:84px;display:block;width:84px!important;max-width:84px!important;height:84px!important;max-height:84px!important}h2{margin:0 0 8px;font-size:1.45rem}.card p{color:var(--muted);margin:0;font-size:.98rem;line-height:1.48}.tag{text-transform:uppercase;letter-spacing:.08em;color:#3a2a2f;align-items:center;gap:8px;margin-top:16px;font-size:.82rem;font-weight:700;display:inline-flex}.dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.banana{--accent:var(--banana)}.purifica{--accent:var(--purifica)}.aracnide{--accent:var(--aracnide)}.empty-state{text-align:center;padding:20px}@media (max-width:900px){.login-shell{grid-template-columns:1fr;padding:16px}.login-art{min-height:220px}.landing-topbar{justify-content:space-between}}@media (max-width:640px){.card{border-radius:20px;padding:20px}}
