/* Access screens share the approved Gestionale proportions and the Area Clienti palette. */
body.auth-page{background:#fff}
#auth-root{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(245px,34%) minmax(355px,1fr);background:#fff}
.auth-brand-panel{background:var(--brown,#402626);color:#fff;padding:48px 42px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;gap:42px}
.auth-brand-lockup{display:block;width:100%;max-width:310px}
.auth-brand-lockup img{display:block;width:100%;height:auto;object-fit:contain}
.auth-brand-panel h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.5px;margin:28px 0 18px}
.auth-brand-panel p{font-size:16px;line-height:1.75;color:#e4d7d7;max-width:330px;margin:0}
.auth-brand-bottom{font-size:13px;color:#d8caca;display:flex;align-items:center;gap:9px}
.auth-brand-bottom>span{width:7px;height:7px;border-radius:50%;background:var(--red,#e30813);flex-shrink:0}
#auth-root .auth-content{display:flex;justify-content:center;align-items:center;padding:42px 48px;min-width:0;max-width:none;align-self:stretch;width:auto;flex:initial}
.auth-card{width:100%;max-width:470px}
.auth-eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:650;color:#72666c;margin:0 0 13px}
.auth-card h1{font-size:31px;line-height:1.2;letter-spacing:-.8px;font-weight:650;margin:0 0 16px}
.auth-card h1:focus{outline:none}
.auth-intro{font-size:16px;color:#6b6570;line-height:1.65;margin:0 0 26px}
.auth-field{margin:0 0 18px}
.auth-field label{display:block;font-size:15px;font-weight:600;margin-bottom:8px;color:#302c2e}
.auth-field input{display:block;width:100%;border:1px solid #b6b0b8;border-radius:6px;padding:12px 14px;font:16px "Segoe UI",Arial,sans-serif;color:#302c2e;background:#fff;line-height:1.35;min-height:46px;min-width:0}
.auth-field input:focus{outline:3px solid #e3081329;outline-offset:0;border-color:#b90913}
.auth-field input[aria-invalid=true]{border-color:#ad1e25}
.auth-field input:disabled{color:#67606a;background:#f5f4f6}
.auth-help{font-size:14px;line-height:1.6;color:#716874;margin:8px 0 0;overflow-wrap:anywhere}
.auth-count{font-size:13px;color:#7a737d;display:block;text-align:right;margin-top:5px}
.auth-actions{display:flex;align-items:center;gap:12px;margin-top:27px;flex-wrap:wrap}
.auth-submit,.auth-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:650 15px "Segoe UI",Arial,sans-serif;line-height:1.45;min-height:46px;padding:12px 22px;border-radius:6px;cursor:pointer}
.auth-submit{background:var(--red,#e30813);border:1px solid transparent;color:#fff}
.auth-submit:hover{background:#c90711}
.auth-secondary{background:#fff;border:1px solid #b6b0b8;color:#4b4048;font-weight:550}
.auth-secondary:hover{background:#f4f3f5}
.auth-submit:focus-visible,.auth-secondary:focus-visible,.auth-card a:focus-visible{outline:3px solid var(--brown,#402626);outline-offset:4px}
.auth-submit:disabled,.auth-secondary:disabled{opacity:.65;cursor:wait}
.auth-recovery-links{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin:25px 0 0}
.auth-recovery-links a,.auth-link{color:#8f1720;font-size:14px;line-height:1.55;text-decoration:underline;text-underline-offset:3px}
.auth-recovery-links a:hover,.auth-link:hover{color:#b60812}
.auth-error{font-size:14px;line-height:1.6;color:#941d24;padding:12px 14px;background:#fff2f2;border:1px solid #edc8cb;border-radius:6px;margin:18px 0 0;overflow-wrap:anywhere}
.auth-error:empty{display:none}
.auth-notice{font-size:14px;color:#67606a;line-height:1.6;margin:20px 0 0;overflow-wrap:anywhere}
.auth-status{padding:16px 18px;border:1px solid #e4d8dc;border-left:3px solid var(--red,#e30813);border-radius:6px;background:#faf7f8;font-size:15px;line-height:1.65;color:#4b4048;margin:22px 0;overflow-wrap:anywhere}
.auth-review{padding:5px 22px;border:1px solid #e1dfe4;border-radius:9px;background:#fafafb;margin:24px 0}
.auth-review>div{padding:17px 0;border-bottom:1px solid #e4e1e6}
.auth-review>div:last-child{border-bottom:0}
.auth-review dt{font-size:14px;color:#746a76;margin-bottom:8px}
.auth-review dd{font-size:18px;font-weight:600;margin:0;overflow-wrap:anywhere}
.auth-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.auth-link-list{padding-left:20px;font-size:14px;color:#67606a;line-height:1.7}
.auth-link-list li+li{margin-top:8px}
.auth-back{margin:24px 0 0}
.auth-loading{font-size:16px;color:#716874;line-height:1.65}
.auth-form[aria-busy=true]{cursor:progress}
.auth-form[aria-busy=true] button{opacity:.65;cursor:progress}
.auth-session-actions{display:flex;align-items:center;gap:12px}
.auth-session-actions form{margin:0}
.auth-logout{background:#fff;border:1px solid #bfb7c0;border-radius:5px;padding:7px 11px;color:#615461;font-size:14px;min-height:36px}
.auth-logout:hover{background:#faf4f4}
@media(max-width:950px){#auth-root{grid-template-columns:minmax(210px,29%) minmax(330px,1fr)}.auth-brand-panel{padding:30px 23px}.auth-brand-panel h2{font-size:27px}.auth-brand-panel p{font-size:15px}#auth-root .auth-content{padding:30px}.auth-card h1{font-size:28px}}
/* Device-category checks decide support. A narrow PC window keeps the same two columns. */
@media(max-width:650px){#auth-root{min-width:570px;grid-template-columns:210px 1fr}#auth-root .auth-content{padding:28px 22px}.auth-brand-panel{padding:28px 22px}.auth-card h1{font-size:27px}.auth-actions{gap:10px}.auth-submit,.auth-secondary{padding:11px 16px}}
@media(prefers-reduced-motion:reduce){#auth-root *{scroll-behavior:auto}}
