body.auth-container{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;font-family:Manrope,sans-serif;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 30%),radial-gradient(circle at bottom right,rgba(249,115,22,.12),transparent 26%),linear-gradient(180deg,#f8f4ed,#f4ede3);color:#172033}.auth-container.admin{background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 26%),radial-gradient(circle at bottom right,rgba(79,70,229,.16),transparent 22%),linear-gradient(180deg,#08111f,#111827);color:#fff}.auth-gradient-client{background:linear-gradient(135deg,#0f766e,#f97316)}.auth-gradient-admin{background:linear-gradient(135deg,#1d4ed8,#4338ca)}.auth-stage{width:min(900px,100%);display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);border-radius:1.1rem;overflow:hidden;border:1px solid rgba(148,163,184,.15);box-shadow:0 20px 50px #0f172a1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-showcase,.auth-panel{padding:1rem}.auth-showcase{position:relative;display:flex;flex-direction:column;gap:.7rem;overflow:hidden}.auth-showcase:before,.auth-showcase:after{content:"";position:absolute;border-radius:999px;opacity:.22;pointer-events:none}.auth-showcase:before{width:18rem;height:18rem;top:-6rem;right:-5rem;background:#ffffff2e}.auth-showcase:after{width:16rem;height:16rem;bottom:-6rem;left:-4rem;background:#ffffff1a}.auth-showcase.client{background:linear-gradient(145deg,#0f766ef5,#f97316e0);color:#fff}.auth-showcase.admin{background:linear-gradient(160deg,#08111ffa,#1d4ed8e0);color:#fff}.auth-showcase-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.auth-showcase-badge,.auth-showcase-brand,.auth-showcase-pills span,.auth-panel-kicker,.auth-logo-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.auth-showcase-badge{display:inline-flex;padding:.5rem .85rem;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.16)}.auth-showcase-brand{color:#ffffffbd}.auth-showcase-title,.auth-title{position:relative;z-index:1;margin:0;font-family:Space Grotesk,sans-serif;font-weight:700;line-height:1.05}.auth-showcase-title{font-size:clamp(1.6rem,2.2vw,2.4rem);max-width:20ch}.auth-showcase-copy{position:relative;z-index:1;margin:0;max-width:32rem;color:#ffffffd1;line-height:1.5;font-size:.92rem}.auth-showcase-footer{position:relative;z-index:1;margin-top:auto;display:flex;gap:1rem;flex-wrap:wrap}.auth-showcase-footer a{color:#ffffffdb;text-decoration:none;font-weight:700}.auth-showcase-footer a:hover{color:#fff}.auth-panel{display:flex;align-items:center}.auth-panel.client{background:#ffffffd6}.auth-panel.admin{background:#0f172ac2}.auth-panel-shell{width:100%;border-radius:1.1rem;padding:.85rem;border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px #ffffff14}.auth-panel-shell.client{background:#ffffffb8}.auth-panel-shell.admin{background:#08111f9e}.auth-panel-heading{margin-bottom:.4rem}.auth-panel-kicker{display:inline-flex;margin-bottom:.25rem;color:#0f766e}.auth-panel.admin .auth-panel-kicker{color:#93c5fd}.auth-panel-copy{margin:0;color:#64748b;line-height:1.6}.auth-panel.admin .auth-panel-copy{color:#94a3b8}.auth-box{width:100%;max-width:none;padding:1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.18);box-shadow:0 15px 30px #0f172a0f}.auth-box.client{background:#fffffff0}.auth-box.admin{background:#08111fe6;border-color:#60a5fa2e;box-shadow:0 26px 54px #0206175c}.auth-logo-block{margin-bottom:.6rem}.auth-logo-link{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}.auth-logo-mark{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;flex-shrink:0}.auth-logo-mark.client{background:#0f766e14;padding:.3rem}.auth-logo-mark.client img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.auth-logo-mark.admin{background:linear-gradient(135deg,#1d4ed8,#4338ca)}.auth-logo-text{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700}.auth-logo-text.client{color:#172033}.auth-logo-text.client span{color:#0f766e}.auth-logo-text.admin{color:#fff}.auth-logo-text.admin span{color:#93c5fd}.auth-logo-eyebrow{display:inline-flex;margin-top:.4rem;margin-bottom:.2rem}.auth-logo-eyebrow.client{color:#0f766e}.auth-logo-eyebrow.admin{color:#93c5fd}.auth-title{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:.3rem}.auth-title.client{color:#172033}.auth-title.admin{color:#fff}.auth-subtitle{margin:0;line-height:1.6}.auth-subtitle.client{color:#64748b}.auth-subtitle.admin{color:#94a3b8}.auth-form{display:flex;flex-direction:column;gap:.5rem}.auth-form .form-group label{display:block;margin-bottom:.25rem;font-size:.85rem;font-weight:700}.auth-form.client .form-group label{color:#172033}.auth-form.admin .form-group label{color:#e2e8f0}.auth-field-hint,.auth-server-error,.auth-live-error,.auth-links,.auth-back-link{font-size:.84rem}.auth-field-hint{margin:0 0 .5rem;line-height:1.55}.auth-field-hint.client{color:#64748b}.auth-field-hint.admin{color:#94a3b8}.auth-input-wrap{position:relative}.auth-form .form-group input{width:100%;padding:.6rem .85rem;border-radius:.75rem;border:1px solid #d9e2ec;background:#ffffffe0;color:#172033;font-size:.85rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.auth-form .form-group input::-moz-placeholder{color:#94a3b8}.auth-form .form-group input::placeholder{color:#94a3b8}.auth-form .form-group input:focus{outline:none;transform:translateY(-1px)}.auth-form.client .form-group input:focus{border-color:#0f766e;box-shadow:0 0 0 4px #0f766e1f}.auth-form.admin .form-group input{background:#0f172ac7;border-color:#334155;color:#fff}.auth-form.admin .form-group input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa29}.auth-input-wrap.is-password input{padding-right:2.7rem}.auth-password-toggle{position:absolute;top:50%;right:.7rem;transform:translateY(-50%);width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border:none;padding:0;background:transparent;color:#64748b;cursor:pointer}.auth-form.admin .auth-password-toggle{color:#94a3b8}.auth-password-toggle svg{width:1.1rem;height:1.1rem}.auth-server-error,.auth-live-error{margin:.5rem 0 0;color:#dc2626;font-weight:600}.auth-form.admin .auth-server-error,.auth-form.admin .auth-live-error{color:#fca5a5}.auth-submit-btn{width:100%;margin-top:.15rem;padding:.65rem 1rem;border:none;border-radius:999px;color:#fff;font-size:.85rem;font-weight:800;cursor:pointer;box-shadow:0 15px 28px #0f172a1a;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 22px 36px #0f172a29}.auth-submit-btn:disabled{cursor:wait}.auth-alert{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;align-items:start;padding:.75rem .85rem;border-radius:.85rem;margin-bottom:.7rem;border:1px solid transparent}.auth-alert.error{background:#fff1f2;border-color:#fecdd3;color:#be123c}.auth-alert.success{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.auth-alert.admin.error{background:#7f1d1d47;border-color:#f871714d;color:#fecaca}.auth-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#ffffff8c;font-size:.75rem;font-weight:800}.auth-alert-content ul{list-style:none;padding:0;margin:0}.auth-alert-content li+li{margin-top:.35rem}.auth-links{margin-top:.5rem;color:#64748b;line-height:1.4;font-size:.78rem}.auth-links.admin{color:#94a3b8}.auth-links a,.auth-back-link a{color:inherit;font-weight:700;text-decoration:none}.auth-links.client a{color:#0f766e}.auth-links.admin a{color:#93c5fd}.auth-back-link{margin-top:.5rem;color:#94a3b8;font-size:.78rem}.auth-back-link.client{color:#64748b}.auth-back-link.admin{color:#94a3b8}.auth-links a:hover,.auth-back-link a:hover{text-decoration:underline}.border-red-400{border-color:#f87171!important}.border-green-400{border-color:#34d399!important}@media(max-width:1023px){body.auth-container{padding:1rem}.auth-stage{grid-template-columns:1fr}.auth-showcase,.auth-panel{padding:.9rem}.auth-showcase-title{max-width:none}.auth-showcase-grid{grid-template-columns:1fr}}@media(max-width:767px){.auth-stage,.auth-panel-shell,.auth-showcase-card,.auth-showcase-step{border-radius:1rem}.auth-showcase-footer{flex-direction:column;gap:.4rem}.auth-showcase-step{grid-template-columns:2.2rem minmax(0,1fr)}.auth-panel-shell{padding:.85rem}}@media(max-width:1023px){.auth-stage{grid-template-columns:1fr}}@media(max-width:767px){.auth-showcase,.auth-panel{padding:.85rem}.auth-showcase-grid{grid-template-columns:1fr}}.auth-form-field{display:flex;flex-direction:column;gap:.35rem}.auth-form-field label{font-size:.85rem;font-weight:700}.auth-form.client .auth-form-field label{color:#172033}.auth-form.admin .auth-form-field label{color:#e2e8f0}.auth-form-field input{padding:.6rem .85rem;border-radius:.75rem;border:1px solid #d9e2ec;background:#ffffffe0;color:#172033;font-size:.85rem;transition:border-color .2s ease,box-shadow .2s ease}.auth-form-field input::-moz-placeholder{color:#94a3b8}.auth-form-field input::placeholder{color:#94a3b8}.auth-form.client .auth-form-field input:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 4px #0f766e1f}.auth-form.admin .auth-form-field input{background:#0f172ac7;border-color:#334155;color:#fff}.auth-form.admin .auth-form-field input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa29}.auth-form-hint{margin:0 0 .5rem;font-size:.84rem;line-height:1.55}.auth-form-hint.client{color:#64748b}.auth-form-hint.admin{color:#94a3b8}.auth-submit{width:100%;margin-top:.15rem;padding:.65rem 1rem;border:none;border-radius:999px;color:#fff;font-size:.85rem;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-submit.client{background:linear-gradient(135deg,#0f766e,#f97316);box-shadow:0 18px 32px #0f766e33}.auth-submit.admin{background:linear-gradient(135deg,#1d4ed8,#4338ca);box-shadow:0 18px 32px #1d4ed833}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 36px #0f172a29}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-input-group{position:relative;display:flex;align-items:center}.auth-input-group input{width:100%;padding-right:2.7rem}.auth-toggle-password{position:absolute;right:.7rem;width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border:none;padding:0;background:transparent;color:#64748b;cursor:pointer}.auth-toggle-password:hover{color:#0f766e}.auth-form.admin .auth-toggle-password{color:#94a3b8}.auth-form.admin .auth-toggle-password:hover{color:#93c5fd}.auth-link-btn{margin-top:.6rem;padding:.6rem;border:none;background:transparent;color:#0f766e;font-size:.82rem;font-weight:700;cursor:pointer;text-align:center;width:100%}.auth-link-btn:hover{text-decoration:underline}.auth-form.admin .auth-link-btn{color:#93c5fd}.register-flow{display:grid;gap:.7rem}.register-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.register-progress-step{display:grid;gap:.25rem;padding:.6rem .7rem;border-radius:.85rem;border:1px solid #d9e2ec;background:#ffffffa6;color:#64748b}.register-progress-step span{width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e2e8f0;color:#172033;font-size:.75rem;font-weight:800}.register-progress-step strong{font-size:.75rem;line-height:1.3}.register-progress-step.is-active{border-color:#0f766e57;background:#0f766e17;color:#0f766e}.register-progress-step.is-active span,.register-progress-step.is-complete span{background:linear-gradient(135deg,#0f766e,#f97316);color:#fff}.register-progress-step.is-complete{border-color:#0f766e33;color:#172033}.register-summary-card{display:grid;gap:.2rem;padding:.65rem .75rem;border-radius:.85rem;background:linear-gradient(180deg,#0f766e14,#f9731614);border:1px solid rgba(15,118,110,.16)}.register-summary-card strong{color:#172033;font-size:.85rem}.register-summary-card span{color:#475569;word-break:break-word;font-size:.8rem}.register-summary-card-success{border-color:#22c55e3d;background:linear-gradient(180deg,#22c55e14,#0f766e14)}.register-summary-kicker{margin:0;color:#0f766e;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}@media(max-width:767px){.register-progress{grid-template-columns:1fr}}.otp-debug{margin-top:1rem}.otp-debug-box{padding:1rem;border-radius:1rem;background:#fef3c7;border:1px solid #fcd34d}.otp-debug-box p{margin:0;font-size:.9rem}.otp-debug-box strong{color:#92400e}#otp-code{font-family:monospace;font-size:1.1rem;letter-spacing:.1em}.otp-debug-hint{margin-top:.5rem;font-size:.8rem;color:#a16207}.hidden{display:none!important}.typing-text{display:inline-block;min-height:1.2em}.typing-text:after{content:"|";animation:blink 1s step-end infinite;color:currentColor;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-text.completed:after{display:none}.auth-floating-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none}.auth-floating-logo .floating-logo{width:200px;height:200px;opacity:.5;animation:float 8s ease-in-out infinite}.auth-floating-logo .floating-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%}.auth-floating-logo .particle{position:absolute;border-radius:50%;opacity:0}.auth-floating-logo .particle-1{width:20px;height:20px;background:#fffc;top:-30px;left:15%;animation:float-particle-1 6s ease-in-out infinite}.auth-floating-logo .particle-2{width:16px;height:16px;background:#ffffffb3;bottom:-25px;right:10%;animation:float-particle-2 7s ease-in-out infinite 1s}.auth-floating-logo .particle-3{width:18px;height:18px;background:#ffffffbf;top:50%;right:-35px;animation:float-particle-3 8s ease-in-out infinite 2s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes float-particle-1{0%,to{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(30px,-35px)}}@keyframes float-particle-2{0%,to{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(-35px,25px)}}@keyframes float-particle-3{0%,to{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(45px,-20px)}}
