/* ===== SEARCH BAR ===== */
.search-bar{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:0 16px;height:48px;margin-bottom:14px;transition:border-color .2s}
.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.search-bar i{color:var(--text-muted);font-size:15px;flex-shrink:0}
.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:inherit}
.search-bar input::placeholder{color:var(--text-muted)}
.search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:14px}

/* ===== FILTER / SELECT ===== */
.filter-row{display:flex;gap:10px;margin-bottom:16px;align-items:center}
.custom-select{flex:1;position:relative}
.custom-select.full{flex:unset;width:100%}
.custom-select select{width:100%;appearance:none;-webkit-appearance:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 36px 10px 14px;color:var(--text-primary);font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;outline:none}
.custom-select select:focus{border-color:var(--accent)}
.custom-select::after{content:'\f107';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;font-size:13px}
.sort-btns{display:flex;gap:4px}
.sort-btn{width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}
.sort-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ===== BUTTONS ===== */
.primary-btn{width:100%;padding:16px;border:none;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;position:relative;overflow:hidden;transition:transform .2s}
.primary-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent)}
.primary-btn:active{transform:scale(.97)}
.primary-btn:disabled{opacity:.5;pointer-events:none}
.primary-btn.sm{padding:12px;font-size:14px}
.buy-btn{width:100%;padding:16px;border:none;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;position:relative;overflow:hidden}
.buy-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent)}
.buy-btn:active{transform:scale(.97)}
.contact-btn{width:100%;padding:16px;border:none;border-radius:var(--r-md);background:linear-gradient(135deg,#0984e3,#0abde3);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;text-decoration:none;transition:transform .2s}
.contact-btn:active{transform:scale(.97)}
.add-service-btn{background:var(--accent);color:#fff;border:none;padding:10px 18px;border-radius:var(--r-sm);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit;white-space:nowrap}
.add-service-btn:active{transform:scale(.95)}
.icon-btn{width:42px;height:42px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;flex-shrink:0}
.icon-btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.icon-btn:active{transform:scale(.9)}
.empty-action-btn{background:var(--accent);color:#fff;border:none;padding:12px 24px;border-radius:var(--r-md);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:12px}
.copy-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit}
.copy-btn:active{transform:scale(.95)}
.copy-btn.copied{background:var(--green)}
.copy-sm-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;flex-shrink:0;transition:all .2s}
.copy-sm-btn:active{background:var(--accent);color:#fff}

/* ===== FORMS ===== */
.form-body{padding:20px 16px}
.input-group{margin-bottom:16px;position:relative}
.input-group label{font-size:13px;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:8px}
.form-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.form-textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;resize:vertical}
.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.form-textarea.mono{font-family:'JetBrains Mono',monospace;font-size:13px}
.input-hint{font-size:12px;color:var(--text-muted);margin-top:6px;display:flex;align-items:center;gap:4px}
.input-with-toggle{position:relative}
.input-with-toggle .form-input{padding-right:44px}
.toggle-pass{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px}

/* ===== SETTINGS ===== */
.settings-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:16px}
.settings-group-title{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.toggle-row:last-child{border-bottom:none}
.toggle-row span{font-size:14px;color:var(--text-secondary)}
.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:24px;transition:.3s}
.toggle-slider::before{content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.toggle input:checked+.toggle-slider{background:var(--accent)}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px)}

/* ===== NOTICE ===== */
.create-service-notice{background:rgba(108,92,231,.1);border:1px solid rgba(108,92,231,.2);border-radius:var(--r-md);padding:14px;margin-bottom:20px;display:flex;gap:10px;align-items:flex-start}
.create-service-notice i{color:var(--accent);margin-top:2px;flex-shrink:0}
.create-service-notice p{font-size:13px;color:var(--text-secondary);line-height:1.5}

/* ===== STARS ===== */
.star-picker{display:flex;gap:8px;font-size:28px;padding:8px 0}
.star-picker i{color:var(--border-light);cursor:pointer;transition:all .15s}
.star-picker i.active{color:var(--yellow);transform:scale(1.1)}
.star-picker i:hover{color:var(--yellow)}

/* ===== REVIEWS ===== */
.reviews-section{margin-top:28px}
.reviews-header{margin-bottom:16px}
.reviews-header h3{font-size:18px;font-weight:700;margin-bottom:12px}
.overall-rating{display:flex;align-items:center;gap:10px}
.rating-big{font-size:32px;font-weight:800;font-family:'JetBrains Mono',monospace}
.rating-stars{display:flex;gap:2px}
.rating-stars i{color:var(--yellow);font-size:14px}
.rating-count{font-size:13px;color:var(--text-muted)}
.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;margin-bottom:10px}
.review-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.review-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-elevated);object-fit:cover;flex-shrink:0}
.review-author{flex:1}
.review-name{font-size:13px;font-weight:600;display:block;margin-bottom:2px}
.review-stars{display:flex;gap:1px}
.review-stars i{font-size:10px;color:var(--yellow)}
.review-date{font-size:11px;color:var(--text-muted)}
.review-text{font-size:13px;color:var(--text-secondary);line-height:1.5}
.add-review-btn{width:100%;padding:14px;border:2px dashed var(--border);border-radius:var(--r-md);background:transparent;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}
.add-review-btn:active{border-color:var(--accent);background:var(--accent-glow)}
.add-review-btn:disabled{opacity:.4;pointer-events:none}
.review-target-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;display:flex;align-items:center;gap:14px;margin-bottom:20px}
.review-target-card .rt-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0}
.review-target-card .rt-info{flex:1}
.review-target-card .rt-title{font-size:14px;font-weight:600;display:block}
.review-target-card .rt-sub{font-size:12px;color:var(--text-muted)}

/* ===== EMPTY / LOADING ===== */
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}
.empty-state i{font-size:48px;margin-bottom:16px;opacity:.4}
.empty-state p{font-size:15px}
.loading-state{display:flex;justify-content:center;padding:40px}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== CATEGORIES ===== */
.cat-section{margin-bottom:24px}
.cat-section-header{margin-bottom:12px}
.cat-section-header h4{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.cat-section-header h4 i{color:var(--accent);font-size:14px}
.cat-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cat-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px}
.cat-item-name{flex:1;font-size:14px;font-weight:500}
.cat-item-count{font-size:12px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;background:var(--bg-elevated);padding:2px 8px;border-radius:6px}
.cat-item .cat-edit,.cat-item .cat-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px}
.cat-item .cat-edit:active{color:var(--accent)}
.cat-item .cat-delete:active{color:var(--red)}
.cat-add-row{display:flex;gap:8px}
.cat-add-row .form-input{flex:1}

/* ===== STOCK ===== */
.stock-info{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--green);margin-bottom:16px;padding:8px 12px;background:var(--green-glow);border-radius:var(--r-sm)}
.stock-info.out{color:var(--red);background:var(--red-glow)}

/* ===== NOTIFICATION LIST ===== */
/* ===== NOTIFICATIONS ===== */
.notif-list-wrap{padding:12px 16px}
.notif-actions-top{display:flex;justify-content:flex-end;margin-bottom:12px}
.notif-clear-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:6px 14px;border-radius:20px;cursor:pointer;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:6px}
.notif-clear-btn:active{background:var(--red);color:#fff;border-color:var(--red)}
.notif-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:8px;position:relative;transition:all .3s ease}
.notif-card.unread{border-left:3px solid var(--accent);background:rgba(108,92,231,.04)}
.notif-card-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.notif-card-body{flex:1;min-width:0}
.notif-card-text{font-size:13px;color:var(--text-primary);line-height:1.5;margin-bottom:4px;word-wrap:break-word}
.notif-card-date{font-size:11px;color:var(--text-muted)}
.notif-delete-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;opacity:0;transition:all .2s}
.notif-card:hover .notif-delete-btn{opacity:1}
@media(hover:none){.notif-delete-btn{opacity:.6}}

/* ===== IMAGE GALLERY UPLOAD ===== */
.img-gallery-upload{display:flex;flex-wrap:wrap;gap:8px}
.img-upload-items{display:contents}
.img-upload-item{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;background:var(--bg-elevated);flex-shrink:0}
.img-upload-item img{width:100%;height:100%;object-fit:cover}
.img-upload-item .img-remove{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.img-upload-item .img-remove:active{background:var(--red)}
.img-upload-item.uploading::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.img-upload-item.uploading::before{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;z-index:1}
.img-upload-btn{width:80px;height:80px;border-radius:10px;border:2px dashed var(--border);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--text-muted);font-size:11px;font-weight:600;transition:all .2s}
.img-upload-btn i{font-size:18px;color:var(--accent)}
.img-upload-btn:active{border-color:var(--accent);background:var(--accent-glow)}

/* ===== DETAIL GALLERY ===== */
.detail-gallery{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;max-width:100%;box-sizing:border-box;position:relative;scroll-behavior:smooth}
.detail-gallery::-webkit-scrollbar{height:4px}
.detail-gallery::-webkit-scrollbar-track{background:transparent}
.detail-gallery::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
.detail-gallery-item{min-width:140px;max-width:200px;height:100px;border-radius:12px;overflow:hidden;flex-shrink:0;cursor:pointer;scroll-snap-align:start;border:1px solid var(--border)}
.detail-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.detail-gallery-item:active img{transform:scale(1.05)}

/* Gallery wrapper with arrows */
.gallery-wrap{position:relative}
.gallery-wrap .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s}
.gallery-wrap .gallery-arrow:hover{background:var(--accent)}
.gallery-wrap .gallery-arrow.left{left:4px}
.gallery-wrap .gallery-arrow.right{right:4px}
@media (hover:hover){.gallery-wrap .gallery-arrow{display:flex}}
.gallery-thumb{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;border:2px solid transparent;transition:border .2s}
.gallery-thumb.active{border-color:var(--accent)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}

/* Fullscreen image viewer */
.img-viewer{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none}
.img-viewer.active{opacity:1;pointer-events:all}
.img-viewer img{max-width:95%;max-height:90vh;object-fit:contain;border-radius:8px}
.img-viewer-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:18px;cursor:pointer}

/* ===== USDT PAYMENT ===== */
.payment-body{padding:20px 16px}
.payment-timer-bar{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--orange-glow);border:1px solid rgba(255,165,2,.3);border-radius:var(--r-md);padding:12px;margin-bottom:20px;font-size:14px;color:var(--orange);font-weight:600}
.payment-timer{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:800}

.payment-qr-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;text-align:center;margin-bottom:20px}
.qr-code{width:200px;height:200px;margin:0 auto 12px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.qr-code canvas,.qr-code img,.qr-code svg{width:100%!important;height:100%!important}
.qr-hint{font-size:12px;color:var(--text-muted)}

.payment-details{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:16px}
.payment-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}
.payment-row:last-child{border-bottom:none}
.payment-row.highlight{background:rgba(108,92,231,.06)}
.payment-label{font-size:12px;color:var(--text-muted);flex-shrink:0;margin-right:12px}
.payment-value{font-size:13px;font-weight:600;color:var(--text-primary);word-break:break-all}
.payment-value.mono{font-family:'JetBrains Mono',monospace}
.payment-value.large{font-size:18px;color:var(--green)}
.payment-value-copy{display:flex;align-items:center;gap:8px}
.payment-currency{font-size:12px;color:var(--text-muted);font-weight:600}

.payment-warning{display:flex;gap:10px;align-items:flex-start;background:var(--red-glow);border:1px solid rgba(255,71,87,.2);border-radius:var(--r-md);padding:14px;margin-bottom:20px}
.payment-warning i{color:var(--red);margin-top:2px;flex-shrink:0}
.payment-warning p{font-size:13px;color:var(--text-secondary);line-height:1.5}
.payment-warning strong{color:var(--text-primary)}

.payment-status-text{text-align:center;font-size:13px;color:var(--text-muted);margin-top:12px}
.payment-status-text.success{color:var(--green)}

/* ===== USER EDIT ===== */
.user-edit-card{text-align:center;padding:20px;margin-bottom:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg)}
.user-edit-avatar{width:72px;height:72px;border-radius:50%;border:3px solid var(--accent);margin:0 auto 12px;display:block;object-fit:cover;background:var(--bg-elevated)}
.user-edit-card h3{font-size:18px;font-weight:800;margin-bottom:4px}
.user-edit-username{font-size:13px;color:var(--text-muted);display:block;margin-bottom:4px}
.user-edit-id{font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;background:var(--bg-elevated);padding:2px 8px;border-radius:6px}

.user-edit-stats{display:flex;gap:10px}
.ue-stat{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;text-align:center}
.ue-stat-val{font-size:18px;font-weight:800;font-family:'JetBrains Mono',monospace;display:block;margin-bottom:4px}
.ue-stat-label{font-size:11px;color:var(--text-muted)}

/* ===== PROMO ===== */
.promo-hero{text-align:center;padding:20px 0}
.promo-hero i{font-size:48px;color:var(--orange);margin-bottom:12px}
.promo-hero h3{font-size:18px;font-weight:800;margin-bottom:6px}
.promo-hero p{font-size:13px;color:var(--text-muted)}
.promo-success{background:var(--green-glow);border:1px solid rgba(0,200,83,.3);border-radius:var(--r-md);padding:14px;text-align:center;color:var(--green);font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}

/* ===== REFERRALS ===== */
.ref-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ref-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 10px;text-align:center}
.ref-stat-card.accent{border-color:var(--accent);background:rgba(108,92,231,.08)}
.ref-stat-val{display:block;font-size:20px;font-weight:800;font-family:'JetBrains Mono',monospace;margin-bottom:4px}
.ref-stat-card.accent .ref-stat-val{color:var(--accent)}
.ref-stat-label{font-size:11px;color:var(--text-muted)}
.ref-percent-info{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.ref-percent-info i{color:var(--accent)}
.ref-link-box{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}
.ref-link-text{flex:1;font-size:11px;word-break:break-all;color:var(--accent)}
.ref-earning-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.ref-earning-item:last-child{border-bottom:none}
.ref-earning-user{font-weight:600;font-size:13px;margin-right:8px}
.ref-earning-date{font-size:11px;color:var(--text-muted)}
.ref-earning-amount{font-weight:700;color:var(--green);font-family:'JetBrains Mono',monospace}

/* ===== LEADERBOARD ===== */
.lb-podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:16px 0 8px}
.lb-podium-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);flex:1;max-width:120px;transition:transform .3s}
.lb-podium-item.rank-1{border-color:rgba(255,215,0,.4);background:linear-gradient(135deg,rgba(255,215,0,.08),rgba(255,215,0,.02));order:2;transform:scale(1.05)}
.lb-podium-item.rank-2{order:1}
.lb-podium-item.rank-3{order:3}
.lb-medal{font-size:24px;line-height:1}
.lb-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--border)}
.lb-avatar img{width:100%;height:100%;object-fit:cover}
.lb-podium-item.rank-1 .lb-avatar{border-color:rgba(255,215,0,.5);width:52px;height:52px}
.lb-name{font-size:12px;font-weight:700;color:var(--text-primary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}
.lb-score{font-size:11px;color:var(--accent);font-weight:600}
.lb-prize{font-size:11px;color:var(--green);font-weight:700;background:rgba(0,200,83,.1);padding:2px 8px;border-radius:10px}
.lb-week-info{text-align:center;font-size:12px;color:var(--text-muted);padding:8px 0;display:flex;align-items:center;justify-content:center;gap:6px}
.lb-full-header{padding:20px 16px;text-align:center;border-bottom:1px solid var(--border)}
.lb-full-title{font-size:18px;font-weight:800;margin-bottom:8px}
.lb-full-timer{font-size:13px;color:var(--text-muted);margin-bottom:10px}
.lb-full-prizes{display:flex;gap:8px;justify-content:center}
.lb-prize-tag{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}
.lb-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.lb-row:last-child{border-bottom:none}
.lb-row-top{background:rgba(255,215,0,.03);margin:0 -16px;padding:12px 16px;border-radius:0}
.lb-row-rank{width:28px;text-align:center;font-weight:800;font-size:16px;color:var(--text-muted)}
.lb-row-top .lb-row-rank{color:var(--text-primary)}
.lb-row-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden}
.lb-row-avatar img{width:100%;height:100%;object-fit:cover}
.lb-row-info{flex:1;min-width:0}
.lb-row-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-row-username{font-size:11px;color:var(--text-muted)}
.lb-row-score{font-weight:700;color:var(--accent);font-size:14px;font-family:'JetBrains Mono',monospace}
.lb-hist-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}
.lb-hist-row:last-child{border-bottom:none}

/* ===== AUCTIONS ===== */
.auction-card-mini{display:flex;flex-direction:column;min-width:160px;max-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;cursor:pointer;flex-shrink:0;transition:transform .2s}
.auction-card-mini:active{transform:scale(.97)}
.auction-card-img{width:100%;height:100px;overflow:hidden;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}
.auction-card-img img{width:100%;height:100%;object-fit:cover}
.auction-no-img{color:var(--text-muted);font-size:28px}
.auction-card-body{padding:10px}
.auction-card-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.auction-card-price{font-size:14px;font-weight:800;color:var(--green);margin-bottom:4px;font-family:'JetBrains Mono',monospace}
.auction-card-bids{font-size:11px;color:var(--text-muted);margin-bottom:6px}
.auction-card-timer{font-size:11px;color:var(--orange);font-weight:600;display:flex;align-items:center;gap:4px}
.auction-card-timer .timer-urgent{color:var(--red);animation:timerPulse 1s infinite}
.timer-ended{color:var(--text-muted)}
@keyframes timerPulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Auction list card */
.auction-list-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:8px;cursor:pointer}
.auction-list-card:active{background:var(--bg-card-hover)}
.alc-left{width:56px;height:56px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}
.alc-left img{width:100%;height:100%;object-fit:cover}
.alc-no-img{font-size:22px;color:var(--text-muted)}
.alc-body{flex:1;min-width:0}
.alc-title{font-size:14px;font-weight:700;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alc-price{font-size:14px;font-weight:800;color:var(--green);font-family:'JetBrains Mono',monospace;margin-bottom:2px}
.alc-meta{font-size:11px;color:var(--text-muted);display:flex;gap:12px}

/* Auction detail */
.ad-hero{position:relative;border-radius:var(--r-md);overflow:hidden;margin-bottom:16px;background:var(--bg-elevated)}
.ad-image{width:100%;height:200px;object-fit:cover;display:block}
.ad-no-image{width:100%;height:160px;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--text-muted)}
.ad-timer-overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
.ad-timer-overlay .timer-urgent{color:#ff6b6b}
.ad-title{font-size:20px;font-weight:800;margin-bottom:8px}
.ad-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}
.ad-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ad-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;text-align:center}
.ad-stat-label{font-size:11px;color:var(--text-muted);margin-bottom:4px}
.ad-stat-value{font-size:16px;font-weight:800;font-family:'JetBrains Mono',monospace}
.ad-stat-value.price{color:var(--green)}
.ad-mybid{padding:12px;border-radius:var(--r-md);margin-bottom:16px;font-size:13px;display:flex;align-items:center;gap:8px}
.ad-mybid.leading{background:rgba(0,200,83,.1);border:1px solid rgba(0,200,83,.3);color:var(--green)}
.ad-mybid.outbid{background:rgba(255,165,0,.1);border:1px solid rgba(255,165,0,.3);color:var(--orange)}
.ad-bid-section{background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--r-md);padding:14px;margin-bottom:16px}
.ad-bid-min{font-size:12px;color:var(--text-muted);margin-bottom:10px}
.ad-bid-row{display:flex;gap:10px;align-items:center}
.ad-bids-title{font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ad-bid-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.ad-bid-item:last-child{border-bottom:none}
.ad-bid-item.top{background:rgba(255,215,0,.04);margin:0 -4px;padding:10px 4px;border-radius:6px}
.ad-bid-user{flex:1;font-size:13px;font-weight:600}
.ad-bid-amount{font-size:14px;font-weight:800;color:var(--green);font-family:'JetBrains Mono',monospace}
.ad-bid-time{font-size:11px;color:var(--text-muted);min-width:60px;text-align:right}

/* Admin auction card */
.admin-auction-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;margin-bottom:10px}
.aac-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.aac-status{font-size:11px;padding:2px 10px;border-radius:10px;font-weight:600}
.aac-status.active{background:rgba(0,200,83,.15);color:var(--green)}
.aac-status.ended{background:rgba(255,165,0,.15);color:var(--orange)}
.aac-status.cancelled{background:rgba(255,56,56,.15);color:var(--red)}
.aac-meta{font-size:12px;color:var(--text-muted);margin-bottom:10px}
.aac-actions{display:flex;gap:8px}

/* ===== LOADING SPINNER ===== */
.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--accent);font-size:24px}
.loading-spinner i{animation:spin 1s linear infinite}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
