.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1);width:100%;max-width:560px;padding:40px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:28px;font-weight:700;color:#333;margin:0 0 8px}.auth-header p{font-size:16px;color:#666;margin:0}.auth-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;line-height:1.5}.auth-message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.auth-message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.resend-verification-section{background-color:#f8f9fa;border:1px solid #e1e4e8;border-radius:8px;padding:16px;margin-bottom:20px;text-align:center}.resend-verification-text{font-size:14px;color:#666;margin:0 0 12px;line-height:1.5}.resend-verification-button{padding:10px 24px;font-size:14px;font-weight:600;color:white;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;cursor:pointer;transition:all .2s;min-width:200px}.resend-verification-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,.3)}.resend-verification-button:active:not(:disabled){transform:translateY(0)}.resend-verification-button:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);opacity:.7;cursor:not-allowed;transform:none}.auth-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.form-group input{padding:12px 16px;font-size:15px;border:2px solid #e1e4e8;border-radius:8px;transition:all .2s;background:white}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.form-group input.error{border-color:#dc3545}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message,.error-text{color:#dc3545;font-size:13px;margin-top:6px}.error-message{display:block}.input-hint{display:block}.form-hint,.input-hint{color:#6c757d;font-size:12px;margin-top:6px}.form-footer{display:flex;justify-content:flex-end;margin:-10px 0 10px}.forgot-link{font-size:14px;color:#667eea;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#764ba2}.auth-button{padding:14px 24px;font-size:16px;font-weight:600;color:white;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:10px}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e1e4e8;text-align:center}.auth-footer p{margin:8px 0;font-size:14px;color:#666}.auth-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.auth-link:hover{color:#764ba2}.verification-content{text-align:center;padding:20px 0}.verification-icon{margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.verification-icon.verifying .spinner{width:60px;height:60px;border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.verification-content h1{font-size:24px;font-weight:700;color:#333;margin:0 0 12px}.verification-content p{font-size:16px;color:#666;margin:0 0 20px;line-height:1.6}.redirect-text{font-size:14px;color:#999;font-style:italic}.resend-section{margin:30px 0;padding:20px;background:#f8f9fa;border-radius:8px}.resend-text{font-size:14px;color:#666;margin:0 0 12px}.resend-form{display:flex;gap:10px}.resend-input{flex:1 1;padding:10px 14px;font-size:14px;border:2px solid #e1e4e8;border-radius:6px;transition:all .2s}.resend-input:focus{outline:none;border-color:#667eea}.resend-button{padding:10px 20px;font-size:14px;font-weight:600;color:white;background:#667eea;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.resend-button:hover:not(:disabled){background:#764ba2}.resend-button:disabled{opacity:.6;cursor:not-allowed}.resend-message{margin-top:12px;padding:10px;border-radius:6px;font-size:13px}.resend-message-success{background:#d4edda;color:#155724}.resend-message-error{background:#f8d7da;color:#721c24}.verification-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.action-link{padding:10px 20px;font-size:14px;font-weight:600;color:#667eea;text-decoration:none;border:2px solid #667eea;border-radius:6px;transition:all .2s}.action-link:hover{background:#667eea;color:white}.success-content{text-align:center;padding:20px 0}.success-icon{margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.success-text{font-size:16px;color:#666;line-height:1.6;margin:0 0 20px}.resend-link-button{padding:10px 20px;font-size:14px;font-weight:600;color:#667eea;background:white;border:2px solid #667eea;border-radius:6px;cursor:pointer;transition:all .2s}.resend-link-button:hover{background:#667eea;color:white}@media (max-width:768px){.form-row{grid-template-columns:1fr;gap:20px}}@media (max-width:576px){.auth-card{padding:30px 20px}.auth-header h1{font-size:24px}.verification-actions{flex-direction:column}.action-link{width:100%;text-align:center}.resend-form{flex-direction:column}.resend-button{width:100%}.resend-verification-button{width:100%;min-width:unset}}.purchases-container{min-height:100vh;background:#0a0a0a;padding:120px 20px 60px}.purchases-header{max-width:1200px;margin:0 auto 40px;text-align:center}.purchases-header h1{font-size:2.5rem;font-weight:700;color:white;margin:0 0 12px;background:linear-gradient(135deg,#ffffff,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.purchases-header p{font-size:1.1rem;color:rgba(255,255,255,.6);margin:0}.purchases-empty,.purchases-loading{max-width:600px;margin:80px auto;text-align:center;padding:60px 40px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px}.purchases-loading .spinner{width:50px;height:50px;border:4px solid rgba(59,130,246,.1);border-top-color:#3b82f6;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.purchases-empty p,.purchases-loading p{color:rgba(255,255,255,.6);font-size:1rem;margin:0}.purchases-empty svg{margin:0 auto 20px;opacity:.3}.purchases-empty h2{font-size:1.8rem;font-weight:600;color:white;margin:0 0 12px}.purchases-error{max-width:1200px;margin:0 auto 20px;padding:16px 20px;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#fca5a5;text-align:center}.purchases-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:24px;gap:24px}.purchase-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;transition:all .3s;display:flex;flex-direction:column}.purchase-card:hover{border-color:rgba(59,130,246,.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(59,130,246,.15)}.purchase-thumbnail{width:100%;height:200px;overflow:hidden;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.purchase-thumbnail img{width:100%;height:100%;object-fit:cover}.purchase-content{padding:24px;flex:1 1;display:flex;flex-direction:column}.purchase-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.purchase-header h3{font-size:1.3rem;font-weight:600;color:white;margin:8px 0 0;line-height:1.3}.product-type-badge{display:inline-block;padding:4px 12px;font-size:.75rem;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.product-type-badge.course{background:rgba(59,130,246,.2);color:#60a5fa}.product-type-badge.subscription{background:rgba(139,92,246,.2);color:#a78bfa}.product-type-badge.product{background:rgba(16,185,129,.2);color:#34d399}.product-type-badge.service{background:rgba(245,158,11,.2);color:#fbbf24}.product-type-badge.software{background:rgba(236,72,153,.2);color:#f472b6}.access-badge{padding:6px 12px;font-size:.8rem;font-weight:600;border-radius:12px;white-space:nowrap;flex-shrink:0}.access-badge.lifetime{background:rgba(16,185,129,.2);color:#34d399}.access-badge.active{background:rgba(59,130,246,.2);color:#60a5fa}.access-badge.expired{background:rgba(239,68,68,.2);color:#f87171}.purchase-description{color:rgba(255,255,255,.6);font-size:.95rem;line-height:1.6;margin:0 0 20px;flex:1 1}.purchase-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.purchase-meta-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:.85rem}.purchase-meta-item svg{flex-shrink:0}.purchase-access-btn{width:100%;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:white;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s}.purchase-access-btn:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,130,246,.3)}@media (max-width:768px){.purchases-container{padding:80px 16px 40px}.purchases-header h1{font-size:2rem}.purchases-header p{font-size:1rem}.purchases-grid{grid-template-columns:1fr;gap:20px}.purchase-card{border-radius:12px}.purchase-thumbnail{height:180px}.purchase-content{padding:20px}.purchase-header h3{font-size:1.2rem}.purchases-empty{padding:40px 20px}}