:root{--off-white: #e6e6e6;--bg-dark: #000;--bg-input: #1a1a1a;--lt-gray: #4a4a4a;--med-blue: #28527a;--primary-blue: #336699;--error-color: #ff6b6b;--error-bg: rgba(255, 107, 107, .1);--success-color: #51cf66;--success-bg: rgba(81, 207, 102, .1);--warning-color: #ffa94d;--warning-bg: rgba(255, 169, 77, .1);--info-color: #4dabf7;--info-bg: rgba(77, 171, 247, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(51, 102, 153, .3);font-family:Orbitron,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--bg-dark);color:var(--off-white);min-width:320px;min-height:100vh}.modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:var(--radius-md);padding:var(--spacing-2xl);width:90%;max-width:450px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.modal-container-lg{max-width:550px}.modal-container-scrollable{max-height:90vh;overflow-y:auto}.modal-title{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--off-white);font-size:1.5rem;text-align:center}.modal-description{color:var(--off-white);opacity:.7;margin-bottom:var(--spacing-xl);line-height:1.5;text-align:center;font-size:.875rem}.text-center{text-align:center}.text-muted{opacity:.7}.form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{color:var(--off-white);font-size:.875rem;font-weight:500}.form-input{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;background-color:var(--bg-input);color:var(--off-white);border:2px solid var(--lt-gray);border-radius:var(--radius-sm);font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input.error{border-color:var(--error-color)}.form-input.success{border-color:var(--success-color)}.field-error{color:var(--error-color);font-size:.75rem;margin-top:calc(var(--spacing-sm) * -1)}.field-hint{color:var(--off-white);opacity:.6;font-size:.75rem;margin-top:calc(var(--spacing-sm) * -1)}.message{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-sm);font-size:.875rem;text-align:center;animation:messageSlide .3s ease}.message-error{background-color:var(--error-bg);border:1px solid var(--error-color);color:var(--error-color)}.message-success{background-color:var(--success-bg);border:1px solid var(--success-color);color:var(--success-color)}.message-warning{background-color:var(--warning-bg);border:1px solid var(--warning-color);color:var(--warning-color)}.message-info{background-color:var(--info-bg);border:1px solid var(--info-color);color:var(--info-color)}.btn{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:500;border-radius:var(--radius-sm);border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.btn-primary{background-color:var(--primary-blue);color:var(--off-white)}.btn-primary:hover:not(:disabled){background-color:var(--med-blue)}.btn-secondary{background-color:var(--lt-gray);color:var(--off-white)}.btn-secondary:hover:not(:disabled){background-color:#5a5a5a}.btn-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.btn-group .btn{flex:1}.btn-link{background:none;border:none;color:var(--primary-blue);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;font-family:Orbitron,sans-serif;transition:color .2s ease}.btn-link:hover:not(:disabled){color:var(--med-blue)}.btn-link:disabled{opacity:.6;cursor:not-allowed}.info-box{background-color:#3366991a;border:1px solid var(--primary-blue);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-xl);font-size:.875rem;line-height:1.5}.info-box-title{font-weight:600;color:var(--primary-blue);margin-bottom:var(--spacing-xs)}.success-state{text-align:center;padding:var(--spacing-lg) 0}.success-title{color:var(--success-color);font-size:1.1rem;font-weight:600;margin-bottom:var(--spacing-md)}.success-note{color:var(--off-white);opacity:.7;font-size:.875rem;line-height:1.5}.requirements-box{background-color:#3366990d;padding:var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid var(--lt-gray)}.requirements-title{font-weight:600;color:var(--off-white);margin-bottom:var(--spacing-sm);font-size:.9rem}.requirements-list{list-style:none;padding:0;margin:0}.requirements-list li{color:var(--off-white);opacity:.6;font-size:.875rem;padding:var(--spacing-xs) 0;position:relative;padding-left:1.5rem}.requirements-list li:before{content:"○";position:absolute;left:0;color:var(--lt-gray)}.requirements-list li.valid{color:var(--success-color);opacity:1}.requirements-list li.valid:before{content:"✓";color:var(--success-color);font-weight:700}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.modal-container{padding:var(--spacing-xl);max-width:100%;margin:var(--spacing-lg)}.modal-title{font-size:1.25rem}.btn-group{flex-direction:column}.btn-group .btn{width:100%}}.invite-code-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.invite-code-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:8px;padding:32px;width:90%;max-width:450px;box-shadow:0 8px 32px #3366994d;animation:slideUp .3s ease}.invite-code-container h2{margin-top:0;margin-bottom:24px;color:var(--off-white);font-size:1.5rem;text-align:center}.invite-code-form{display:flex;flex-direction:column;gap:20px}.invite-code-input-group{display:flex;flex-direction:column;gap:8px}.invite-code-input-group label{color:var(--off-white);font-size:.875rem;font-weight:500}.invite-code-input-group input{padding:12px 16px;font-size:1rem;background-color:#1a1a1a;color:var(--off-white);border:2px solid var(--lt-gray);border-radius:4px;font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.invite-code-input-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.invite-code-input-group input:disabled{opacity:.6;cursor:not-allowed}.invite-code-input-group input.error{border-color:#ff6b6b}.invite-code-input-group input.success{border-color:#51cf66}.invite-code-message{padding:12px 16px;border-radius:4px;font-size:.875rem;text-align:center;animation:messageSlide .3s ease}.invite-code-buttons{display:flex;gap:12px;margin-top:8px}.invite-code-buttons button{flex:1;padding:12px 24px;font-size:1rem;font-weight:500;border-radius:4px;border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.invite-code-buttons button:active:not(:disabled){transform:scale(.98)}.invite-code-buttons button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.invite-code-container{padding:24px;max-width:100%;margin:16px}.invite-code-container h2{font-size:1.25rem}.invite-code-buttons{flex-direction:column}.invite-code-buttons button{width:100%}}.user-registration-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease;overflow-y:auto;padding:20px}.user-registration-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:8px;padding:32px;width:90%;max-width:550px;box-shadow:0 8px 32px #3366994d;animation:slideUp .3s ease;margin:auto}.user-registration-container h2{margin-top:0;margin-bottom:16px;color:var(--off-white);font-size:1.5rem;text-align:center}.invite-code-display{text-align:center;color:var(--off-white);opacity:.7;font-size:.875rem;margin-bottom:24px;padding:8px;background-color:#3366991a;border-radius:4px}.invite-code-display strong{color:var(--primary-blue);font-weight:600}.user-registration-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--off-white);font-size:.875rem;font-weight:500}.form-group input{padding:12px 16px;font-size:1rem;background-color:#1a1a1a;color:var(--off-white);border:2px solid var(--lt-gray);border-radius:4px;font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input.error{border-color:#ff6b6b}.field-error{color:#ff6b6b;font-size:.75rem;margin-top:-2px}.field-hint{color:var(--off-white);opacity:.6;font-size:.75rem;margin-top:-2px}.api-message{padding:12px 16px;border-radius:4px;font-size:.875rem;text-align:center;animation:messageSlide .3s ease}.form-buttons{display:flex;gap:12px;margin-top:8px}.form-buttons button{flex:1;padding:12px 24px;font-size:1rem;font-weight:500;border-radius:4px;border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.form-buttons button:active:not(:disabled){transform:scale(.98)}.form-buttons button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.user-registration-container{padding:24px}.form-row{grid-template-columns:1fr;gap:20px}}@media (max-width: 480px){.user-registration-overlay{padding:10px}.user-registration-container{padding:20px;max-width:100%}.user-registration-container h2{font-size:1.25rem}.form-buttons{flex-direction:column}.form-buttons button{width:100%}}.login-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.login-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:8px;padding:32px;width:90%;max-width:450px;box-shadow:0 8px 32px #3366994d;animation:slideUp .3s ease}.login-container h2{margin-top:0;margin-bottom:24px;color:var(--off-white);font-size:1.5rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.login-input-group{display:flex;flex-direction:column;gap:8px}.login-input-group label{color:var(--off-white);font-size:.875rem;font-weight:500}.login-input-group input{padding:12px 16px;font-size:1rem;background-color:#1a1a1a;color:var(--off-white);border:2px solid var(--lt-gray);border-radius:4px;font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.login-input-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.login-input-group input:disabled{opacity:.6;cursor:not-allowed}.login-input-group input.error{border-color:#ff6b6b}.login-input-group input.success{border-color:#51cf66}.field-error{color:#ff6b6b;font-size:.75rem;margin-top:-4px}.forgot-password-link{margin-top:-12px;text-align:right}.link-button{background:none;border:none;color:var(--primary-blue);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;font-family:Orbitron,sans-serif;transition:color .2s ease}.link-button:hover:not(:disabled){color:var(--med-blue)}.link-button:disabled{opacity:.6;cursor:not-allowed}.login-message{padding:12px 16px;border-radius:4px;font-size:.875rem;text-align:center;animation:messageSlide .3s ease}@keyframes messageSlide{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.error-message{background-color:#ff6b6b1a;border:1px solid #ff6b6b;color:#ff6b6b}.success-message{background-color:#51cf661a;border:1px solid #51cf66;color:#51cf66}.login-buttons{display:flex;gap:12px;margin-top:8px}.login-buttons button{flex:1;padding:12px 24px;font-size:1rem;font-weight:500;border-radius:4px;border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.login-buttons button:active:not(:disabled){transform:scale(.98)}.login-buttons button:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background-color:var(--lt-gray);color:var(--off-white)}.btn-cancel:hover:not(:disabled){background-color:#5a5a5a}.btn-submit{background-color:var(--primary-blue);color:var(--off-white)}.btn-submit:hover:not(:disabled){background-color:var(--med-blue)}.btn-submit:focus,.btn-cancel:focus{outline:2px solid var(--primary-blue);outline-offset:2px}@media (max-width: 480px){.login-container{padding:24px;max-width:100%;margin:16px}.login-container h2{font-size:1.25rem}.login-buttons{flex-direction:column}.login-buttons button{width:100%}}.forgot-password-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.forgot-password-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:8px;padding:32px;width:90%;max-width:450px;box-shadow:0 8px 32px #3366994d;animation:slideUp .3s ease}.forgot-password-container h2{margin-top:0;margin-bottom:16px;color:var(--off-white);font-size:1.5rem;text-align:center}.forgot-password-description{color:var(--off-white);opacity:.7;margin-bottom:24px;line-height:1.5;text-align:center;font-size:.875rem}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.forgot-password-input-group{display:flex;flex-direction:column;gap:8px}.forgot-password-input-group label{color:var(--off-white);font-size:.875rem;font-weight:500}.forgot-password-input-group input{padding:12px 16px;font-size:1rem;background-color:#1a1a1a;color:var(--off-white);border:2px solid var(--lt-gray);border-radius:4px;font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.forgot-password-input-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.forgot-password-input-group input:disabled{opacity:.6;cursor:not-allowed}.forgot-password-input-group input.error{border-color:#ff6b6b}.forgot-password-input-group .error-message{color:#ff6b6b;font-size:.75rem}.forgot-password-button-group{display:flex;gap:12px;margin-top:8px}.forgot-password-submit-button,.forgot-password-cancel-button{flex:1;padding:12px 24px;font-size:1rem;font-weight:500;border-radius:4px;border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.forgot-password-submit-button:active:not(:disabled),.forgot-password-cancel-button:active:not(:disabled){transform:scale(.98)}.forgot-password-submit-button:disabled,.forgot-password-cancel-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-submit-button{background-color:var(--primary-blue);color:var(--off-white)}.forgot-password-submit-button:hover:not(:disabled){background-color:var(--med-blue)}.forgot-password-cancel-button{background-color:var(--lt-gray);color:var(--off-white)}.forgot-password-cancel-button:hover:not(:disabled){background-color:#5a5a5a}.forgot-password-submit-button:focus,.forgot-password-cancel-button:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.forgot-password-success{text-align:center;padding:16px 0}.forgot-password-success .success-message{color:#51cf66;font-size:1.1rem;font-weight:600;margin-bottom:12px}.forgot-password-success .success-note{color:var(--off-white);opacity:.7;font-size:.875rem;line-height:1.5}@media (max-width: 480px){.forgot-password-container{padding:24px;max-width:100%;margin:16px}.forgot-password-container h2{font-size:1.25rem}.forgot-password-button-group{flex-direction:column}.forgot-password-button-group button{width:100%}}.reset-password-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.reset-password-container{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:var(--radius-md);padding:var(--spacing-2xl);width:90%;max-width:500px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;max-height:90vh;overflow-y:auto}.reset-password-container h2{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--off-white);font-size:1.5rem;text-align:center}.reset-password-description{color:var(--off-white);opacity:.7;margin-bottom:var(--spacing-xl);line-height:1.5;text-align:center;font-size:.875rem}.reset-password-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.reset-password-api-error{background-color:var(--error-bg);border:1px solid var(--error-color);color:var(--error-color);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-sm);font-size:.9rem}.reset-password-input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.reset-password-input-group label{color:var(--off-white);font-size:.875rem;font-weight:500}.reset-password-input-group input{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;background-color:var(--bg-input);color:var(--off-white);border:2px solid var(--lt-gray);border-radius:var(--radius-sm);font-family:Orbitron,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.reset-password-input-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3693}.reset-password-input-group input.error{border-color:var(--error-color)}.reset-password-input-group input:disabled{opacity:.6;cursor:not-allowed}.reset-password-input-group .error-message{color:var(--error-color);font-size:.75rem}.password-requirements{background-color:#3366990d;padding:var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid var(--lt-gray)}.password-requirements .requirements-title{font-weight:600;color:var(--off-white);margin-bottom:var(--spacing-sm);font-size:.9rem}.password-requirements ul{list-style:none;padding:0;margin:0}.password-requirements li{color:var(--off-white);opacity:.6;font-size:.875rem;padding:var(--spacing-xs) 0;position:relative;padding-left:1.5rem}.password-requirements li:before{content:"○";position:absolute;left:0;color:var(--lt-gray)}.password-requirements li.valid{color:var(--success-color);opacity:1}.password-requirements li.valid:before{content:"✓";color:var(--success-color);font-weight:700}.reset-password-button-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.reset-password-submit-button,.reset-password-cancel-button{flex:1;padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:500;border-radius:var(--radius-sm);border:none;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.reset-password-submit-button:active:not(:disabled),.reset-password-cancel-button:active:not(:disabled){transform:scale(.98)}.reset-password-submit-button:disabled,.reset-password-cancel-button:disabled{opacity:.6;cursor:not-allowed}.reset-password-submit-button{background-color:var(--primary-blue);color:var(--off-white)}.reset-password-submit-button:hover:not(:disabled){background-color:var(--med-blue)}.reset-password-cancel-button{background-color:var(--lt-gray);color:var(--off-white)}.reset-password-cancel-button:hover:not(:disabled){background-color:#5a5a5a}.reset-password-submit-button:focus,.reset-password-cancel-button:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.reset-password-success{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.reset-password-success .success-message{color:var(--success-color);font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg)}.reset-password-success .success-note{color:var(--off-white);opacity:.7;font-size:1rem;line-height:1.5}@media (max-width: 480px){.reset-password-container{padding:var(--spacing-xl);max-width:100%;margin:var(--spacing-lg)}.reset-password-container h2{font-size:1.25rem}.reset-password-button-group{flex-direction:column}.reset-password-button-group button{width:100%}}.user-dashboard{min-height:100vh;background:linear-gradient(135deg,#4a5568,#2d3748);padding:2rem}.user-dashboard-header{display:flex;justify-content:space-between;align-items:center;background:#fffffff2;padding:1.5rem 2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem}.user-info h1{margin:0 0 .5rem;color:#333;font-size:2rem}.user-email{margin:0;color:#666;font-size:.95rem}.btn-logout{padding:.75rem 1.5rem;background-color:#4a5568;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.btn-logout:hover{background-color:#2d3748}.user-dashboard-content{max-width:1200px;margin:0 auto}.user-dashboard-content h2{color:#fff;text-align:center;margin-bottom:2rem;font-size:1.8rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.role-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:0 auto}.role-card{background:#f2f2f2;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3182ce,#2c5282);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.role-card:hover:before{transform:scaleX(1)}.role-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.role-card:focus{outline:2px solid #3182ce;outline-offset:2px}.role-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.role-name{font-size:1.5rem;color:#333;margin:0 0 .75rem;text-align:center}.role-description{color:#666;font-size:.95rem;text-align:center;margin:0;line-height:1.5}.role-arrow{position:absolute;bottom:1rem;right:1rem;font-size:1.5rem;color:#3182ce;opacity:0;transform:translate(-10px);transition:all .3s ease}.role-card:hover .role-arrow{opacity:1;transform:translate(0)}.no-roles-message{background:#fffffff2;padding:3rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a}.no-roles-message p{margin:.5rem 0;color:#666;font-size:1.1rem}.no-roles-message p:first-child{font-size:1.3rem;color:#333;font-weight:500}@media (max-width: 768px){.user-dashboard{padding:1rem}.user-dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.user-info h1{font-size:1.5rem}.role-cards-container{grid-template-columns:1fr}.user-dashboard-content h2{font-size:1.5rem}}.notification-modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notification-modal{background-color:var(--bg-dark);border:2px solid var(--primary-blue);border-radius:var(--radius-md);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);text-align:center;max-width:400px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-modal-title{font-size:1.5rem;margin-bottom:var(--spacing-lg);color:var(--off-white);font-family:Orbitron,sans-serif}.notification-modal-message{font-size:1rem;margin-bottom:var(--spacing-xl);color:var(--off-white);opacity:.9;line-height:1.5}.notification-modal-close{background-color:var(--primary-blue);color:var(--off-white);border:none;border-radius:var(--radius-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:500;cursor:pointer;font-family:Orbitron,sans-serif;transition:background-color .2s ease,transform .1s ease}.notification-modal-close:hover{background-color:var(--med-blue)}.notification-modal-close:active{transform:scale(.98)}.notification-modal-close:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.notification-error{border-color:var(--error-color)}.notification-error .notification-modal-title{color:var(--error-color)}.notification-success{border-color:var(--success-color)}.notification-success .notification-modal-title{color:var(--success-color)}.notification-info{border-color:var(--info-color)}.notification-info .notification-modal-title{color:var(--info-color)}.notification-warning{border-color:var(--warning-color)}.notification-warning .notification-modal-title{color:var(--warning-color)}:root{--off-white: #e6e6e6;--bg-dark: #000;--lt-gray: #4a4a4a;--med-blue: #28527a;--primary-blue: #336699}body{margin:0;padding:0;font-family:Orbitron,sans-serif;background-color:var(--bg-dark);background-repeat:no-repeat;background-size:cover;color:var(--off-white)}.hidden{display:none}.jmcs-dashboard-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding-bottom:100px;cursor:pointer}.jmcs-dashboard-text{position:fixed;bottom:70px;right:20px;margin-top:0;font-size:1.25rem;color:var(--off-white);opacity:.8;background-color:var(--bg-dark);padding:8px 12px;border-radius:4px;border:1px solid var(--primary-blue);z-index:10}.jmcs-dashboard-button-container{position:fixed;bottom:20px;right:20px;display:flex;gap:16px}.jmcs-dashboard-button{padding:12px 24px;margin:0;background-color:var(--lt-gray);color:var(--off-white);border-radius:4px;border:none;cursor:pointer;font-weight:500;transition:background-color .2s ease}.jmcs-dashboard-button:hover{background-color:var(--med-blue)}.jmcs-dashboard-button:focus{outline:2px solid var(--med-blue);outline-offset:2px}.jmcs-error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center;color:var(--text-light);background-color:var(--bg-dark)}.jmcs-error-container h2{margin-bottom:1rem;color:#ff6b6b}.jmcs-error-container p{color:var(--off-white);opacity:.8}@media (max-width: 768px){.jmcs-dashboard-button-container{flex-direction:column;gap:8px;bottom:10px;right:10px}.jmcs-dashboard-button{padding:10px 16px;font-size:.875rem}}@media (max-width: 480px){.jmcs-dashboard-button-container{left:10px;right:10px;flex-direction:row;justify-content:space-between}.jmcs-dashboard-button{flex:1;text-align:center}}@media (max-width: 768px){.jmcs-dashboard-text{bottom:80px;right:10px}}@media (max-width: 480px){.jmcs-dashboard-text{left:10px;right:10px;bottom:60px;text-align:center}}
