.auth-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#f5f3ef 0%,#fff 50%,#eee9e2 100%)}
.auth-shell{width:min(100%,440px)}.auth-brand{margin-bottom:24px}.auth-brand h1{font-size:clamp(2rem,8vw,3rem);margin:.2rem 0}.auth-card{background:#fff;border:1px solid #e6e1da;border-radius:24px;padding:22px;box-shadow:0 18px 60px rgba(37,30,23,.08)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f3f0eb;padding:5px;border-radius:14px;margin-bottom:18px}.auth-tab{border:0;background:transparent;padding:11px;border-radius:10px;font-weight:700}.auth-tab[aria-selected=true]{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.form-stack{display:grid;gap:13px}.field{display:grid;gap:6px}.field label{font-size:.88rem;font-weight:700}.field input,.field select{width:100%;border:1px solid #d9d4cc;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.field input:focus,.field select:focus{outline:2px solid #1f1f1f;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-actions{display:grid;gap:10px;margin-top:4px}.auth-msg{min-height:22px;font-size:.9rem}.auth-msg[data-type=error]{color:#a02121}.auth-msg[data-type=success]{color:#1e6b3c}.link-btn{border:0;background:none;padding:4px;color:#4b4945;text-decoration:underline}.hidden{display:none!important}@media(max-width:460px){.form-row{grid-template-columns:1fr}.auth-card{border-radius:20px;padding:18px}.auth-page{padding:16px}}

/* SAAS11 · conferma associazione tavolo */
.table-join-success{text-align:center;display:grid;justify-items:center;gap:10px;padding:28px 8px}.table-join-success h1{margin:4px 0 0;font-size:1.55rem}.table-join-success p{margin:0;color:#555;line-height:1.5}.table-join-success>span{font-size:.86rem;color:#777}.join-check{width:78px;height:78px}.join-check svg{width:100%;height:100%;fill:none;stroke:#1d9a5b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.join-check circle{stroke-dasharray:150;stroke-dashoffset:150}.join-check path{stroke-dasharray:45;stroke-dashoffset:45}@media(prefers-reduced-motion:no-preference){.join-check circle{animation:joinCircle .45s ease forwards}.join-check path{animation:joinCheck .35s .35s ease forwards}@keyframes joinCircle{to{stroke-dashoffset:0}}@keyframes joinCheck{to{stroke-dashoffset:0}}}

/* Assegnazione tavolo: conferma full-screen leggibile */
body.table-assigned-mode{margin:0;min-height:100dvh;background:#fff}.table-assigned-mode .auth-shell{min-height:100dvh;width:100%;max-width:none;padding:0}.table-assigned-mode .auth-card{min-height:100dvh;width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;display:grid;place-items:center;padding:clamp(28px,7vw,72px)}.table-assigned-mode .table-join-success{width:min(680px,100%);text-align:center}.table-assigned-mode .join-check{width:112px;height:112px;margin:0 auto 28px}.table-assigned-mode .table-join-success h1{font-size:clamp(28px,6vw,48px);margin-bottom:14px}.table-assigned-mode .table-join-success p{font-size:clamp(18px,4vw,24px);line-height:1.45}.table-assigned-mode .table-join-success span{display:block;margin-top:18px;font-size:16px;color:#667085}
