.auth-container{display:flex;min-height:100vh;align-items:center;justify-content:center;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgb(15 23 42/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(30 41 59/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#0f172a var(--tw-gradient-to-position);padding:2rem 1rem}.auth-card{width:100%;max-width:28rem;border-radius:1rem;border-width:1px;border-color:rgb(255 255 255/.2);background-color:rgb(255 255 255/.1);padding:2rem;--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(16px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.auth-card-header{margin-bottom:2rem;text-align:center}.auth-card-title{margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.auth-card-subtitle{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.auth-logo{margin-left:auto;margin-right:auto;margin-bottom:1rem;height:4rem;width:4rem;border-radius:.75rem;background-color:rgb(255 255 255/.1);padding:.75rem}.auth-form>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.form-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.form-label{display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.form-label-required:after{content:" *";--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.form-input{width:100%;border-radius:.5rem;border-width:1px;border-color:rgb(255 255 255/.1);background-color:rgb(255 255 255/.05);padding:.75rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.form-input::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity))}.form-input::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity))}.form-input{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.form-input:disabled{cursor:not-allowed;opacity:.5}.form-input-error{border-color:rgb(239 68 68/.5)}.form-input-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.form-input-icon-wrapper{position:relative}.form-input-icon{position:absolute;left:.75rem;top:50%;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.form-input-with-icon{padding-left:2.75rem}.form-input-password-toggle{position:absolute;right:.75rem;top:50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:pointer;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.form-input-password-toggle:hover,.form-select{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.form-select{width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.5rem;border-width:1px;border-color:rgb(255 255 255/.1);background-color:rgb(255 255 255/.05);padding:.75rem 1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-select:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.form-select option{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.form-toggle-wrapper{display:flex;align-items:center;justify-content:space-between;border-radius:.5rem;border-width:1px;border-color:rgb(255 255 255/.1);background-color:rgb(255 255 255/.05);padding:1rem}.form-toggle-label{display:flex;flex-direction:column}.form-toggle-title{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.form-toggle-description{margin-top:.125rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.form-toggle{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;flex-shrink:0;cursor:pointer;border-radius:9999px;border-width:2px;border-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.form-toggle:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity));--tw-ring-offset-width:2px;--tw-ring-offset-color:#0f172a}.form-toggle-enabled{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.form-toggle-disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}.form-toggle-knob{pointer-events:none;display:inline-block;height:1.25rem;width:1.25rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.form-toggle-knob,.form-toggle-knob-enabled{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.form-toggle-knob-enabled{--tw-translate-x:1.25rem}.form-toggle-knob-disabled{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.form-error{margin-top:.25rem;display:flex;align-items:center;gap:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.form-error-icon{height:1rem;width:1rem;flex-shrink:0}.alert-error{display:flex;align-items:flex-start;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgb(239 68 68/.3);background-color:rgb(239 68 68/.1);padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.alert-error-icon{margin-top:.125rem;height:1.25rem;width:1.25rem;flex-shrink:0}.alert-success{display:flex;align-items:flex-start;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgb(34 197 94/.3);background-color:rgb(34 197 94/.1);padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.alert-success-icon{margin-top:.125rem;height:1.25rem;width:1.25rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.75rem 1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;--tw-ring-offset-color:#0f172a}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.btn-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.btn-secondary{border-width:1px;border-color:rgb(255 255 255/.2);background-color:rgb(255 255 255/.1);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-secondary:hover{background-color:rgb(255 255 255/.2)}.btn-secondary:focus{--tw-ring-color:rgb(255 255 255/0.5)}.btn-danger{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.btn-danger:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.btn-success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-success:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.btn-success:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.btn-full{width:100%}.btn-sm{padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.btn-lg{padding:1rem 1.5rem;font-size:1.125rem;line-height:1.75rem}.btn-icon{height:1.25rem;width:1.25rem}.btn-loading{animation:spin 1s linear infinite}.auth-divider{margin-top:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center}.auth-divider-line{height:1px;flex:1 1 0%;background-color:rgb(255 255 255/.1)}.auth-divider-text{padding-left:1rem;padding-right:1rem;color:rgb(148 163 184/var(--tw-text-opacity))}.auth-divider-text,.auth-link{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1}.auth-link{color:rgb(96 165 250/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-link:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.auth-link-muted{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-link-muted:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.role-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.role-badge-viewer{border-width:1px;border-color:rgb(59 130 246/.3);background-color:rgb(59 130 246/.2);--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.role-badge-moderator{border-width:1px;border-color:rgb(34 197 94/.3);background-color:rgb(34 197 94/.2);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.role-badge-admin{border-width:1px;border-color:rgb(168 85 247/.3);background-color:rgb(168 85 247/.2);--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.access-denied-container{display:flex;min-height:100vh;align-items:center;justify-content:center;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgb(15 23 42/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(30 41 59/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#0f172a var(--tw-gradient-to-position);padding-left:1rem;padding-right:1rem}.access-denied-card{max-width:28rem;text-align:center}.access-denied-icon{margin-left:auto;margin-right:auto;margin-bottom:1.5rem;height:5rem;width:5rem;--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.access-denied-title{margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.access-denied-message{margin-bottom:1.5rem;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.auth-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgb(15 23 42/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(30 41 59/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.auth-loading-spinner{height:3rem;width:3rem}@keyframes spin{to{transform:rotate(1turn)}}.auth-loading-spinner{animation:spin 1s linear infinite;border-radius:9999px;border-width:4px;border-color:rgb(255 255 255/.2);--tw-border-opacity:1;border-top-color:rgb(59 130 246/var(--tw-border-opacity))}.auth-loading-text{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.user-info-card{border-radius:.5rem;border-width:1px;border-color:rgb(255 255 255/.1);background-color:rgb(255 255 255/.05);padding:1rem}.user-info-header{margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.user-info-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgb(59 130 246/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#a855f7 var(--tw-gradient-to-position);font-weight:700}.user-info-avatar,.user-info-name{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.user-info-name{font-weight:500}.user-info-email{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.animate-shake{animation:shake .3s ease-out}@media (max-width:640px){.auth-card{margin-left:.5rem;margin-right:.5rem;padding:1.5rem}.auth-card-title{font-size:1.5rem;line-height:2rem}.form-input{font-size:.875rem;line-height:1.25rem}.btn,.form-input{padding-top:.625rem;padding-bottom:.625rem}}