.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}}