:root{
            --bg:#f5f6f8;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--soft:#f9fafb;--dark:#1f2937;--red:#dc2626;--red-dark:#b91c1c;--yellow:#f59e0b;--shadow:0 8px 20px rgba(15,23,42,.045);--shadow-hover:0 12px 26px rgba(15,23,42,.08);--radius:8px;--radius-lg:10px;
        }
        *{box-sizing:border-box}
        html,body{min-height:100%;margin:0;padding:0;overflow-x:hidden}
        body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;font-size:14px}
        a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}button{cursor:pointer}
        .page{width:100%;max-width:1240px;margin:0 auto;padding:26px 24px 46px;flex:1}

        .topbar{width:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(15,23,42,.045);position:sticky;top:0;z-index:90}
        .topbar-inner{max-width:1240px;height:58px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
        .topbar-left{display:flex;align-items:center;gap:24px;min-width:0}
        .brand{flex:0 0 auto;color:#111827!important;font-size:18px;font-weight:900;line-height:1;white-space:nowrap;letter-spacing:-.2px}.brand:hover{color:var(--red)!important}
        .main-nav{display:flex;align-items:center;gap:4px;min-width:0}
        .main-nav a{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border-radius:6px;color:#374151!important;font-size:13px;font-weight:800;white-space:nowrap}
        .main-nav a:hover{background:#f3f4f6;color:var(--red)!important}
        .topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap;margin-left:auto}
        .topbar-right a{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border-radius:6px;color:#374151!important;font-size:13px;font-weight:800}
        .topbar-right a:hover{background:#f3f4f6;color:var(--red)!important}
        .topbar-right .admin-link,.register-link{background:var(--dark)!important;color:#fff!important;border:0!important}
        .topbar-right .admin-link:hover,.register-link:hover{background:var(--red)!important;color:#fff!important}.login-link{background:#f3f4f6;color:#111827!important}.nav-links{display:none!important}

        .btn,.button,.admin-btn,.shop-small-btn,.auth-submit,.primary-btn,.submit-btn,.order-btn,.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 13px;border:1px solid transparent;border-radius:6px;background:var(--dark);color:#fff!important;font-size:13px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;transition:.16s ease}
        .btn:hover,.button:hover,.admin-btn:hover,.shop-small-btn:hover,.auth-submit:hover,.primary-btn:hover,.submit-btn:hover,.order-btn:hover,.action-btn:hover{background:var(--red);color:#fff!important}
        .admin-btn-light,.btn-light,.btn-secondary,.button-secondary,.cancel-btn{background:#fff!important;color:#374151!important;border-color:#d1d5db!important}
        .admin-btn-light:hover,.btn-light:hover,.btn-secondary:hover,.button-secondary:hover,.cancel-btn:hover{background:#f9fafb!important;color:#111827!important;border-color:#9ca3af!important}
        .btn-gray{background:var(--dark)!important;color:#fff!important}.danger-btn,.btn-danger,.delete-btn{background:#fff!important;color:#b91c1c!important;border-color:#fecaca!important}.danger-btn:hover,.btn-danger:hover,.delete-btn:hover{background:#fef2f2!important;color:#991b1b!important}
        .badge,.status,.order-status,.tag{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:11px;font-weight:900;white-space:nowrap}
        .badge-green,.status.on,.status.paid,.status-paid,.status-success,.badge-success{background:#ecfdf5;color:#166534}.badge-yellow,.status-pending,.status-wait,.badge-warning{background:#fffbeb;color:#92400e}.badge-red,.status.off,.status-cancel,.status-failed,.badge-danger{background:#fef2f2;color:#991b1b}.badge-gray{background:#f3f4f6;color:#4b5563}
        .price,.shop-price{color:var(--red)!important;font-weight:900}.muted{color:var(--muted);font-size:13px}.empty-td{text-align:center;padding:34px!important;color:#9ca3af!important}.empty,.empty-box,.no-data{padding:28px;text-align:center;color:#9ca3af;background:#fff;border:1px dashed #d1d5db;border-radius:8px}
        label{display:block;margin-bottom:6px;color:#374151;font-size:13px;font-weight:800}
        input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="url"],input[type="file"],textarea,select{width:100%;min-height:40px;padding:9px 11px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;font-size:14px;outline:none;transition:.16s ease}
        textarea{min-height:120px;resize:vertical;line-height:1.7}input:focus,textarea:focus,select:focus{border-color:var(--dark);box-shadow:0 0 0 3px rgba(31,41,55,.09)}input[type="checkbox"],input[type="radio"]{margin-right:6px}
        .help{margin-top:6px;font-size:12px;color:#9ca3af}.actions,.admin-actions,.table-actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row,.form-group,.field,.input-group{margin-bottom:15px}.form-row.full{grid-column:1 / -1}
        .card,.admin-card,.order-card,.form-card,.table-card,.setting-card,.dashboard-card,.panel,.box,.pay-card,.pay-qr-card,.download-box,.my-orders-wrap,.product-detail-section,.product-detail-images,.shop-detail-media,.shop-detail-info,.product-detail-left,.product-info-card,.verify-email-card,.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
        .card,.admin-card,.form-card,.table-card,.setting-card,.dashboard-card,.panel,.box{padding:18px;margin-bottom:18px;overflow:hidden}.card:hover,.admin-card:hover{box-shadow:0 10px 22px rgba(15,23,42,.055)}
        .success-box,.error-box{position:relative;padding:12px 42px 12px 14px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.6}
        .success-box{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.error-box{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
        .alert-close-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:inherit;opacity:.65;font-size:20px;line-height:20px;cursor:pointer}.alert-close-btn:hover{opacity:1;background:rgba(15,23,42,.06)}.alert-hide{opacity:0!important;transform:translateY(-6px)!important;transition:.22s ease}

        .resource-hero{margin:-26px -24px 0;min-height:285px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 18% 24%,rgba(59,130,246,.08),transparent 30%),radial-gradient(circle at 82% 18%,rgba(220,38,38,.055),transparent 28%),linear-gradient(135deg,#fff 0%,#f7f9fc 100%);border-bottom:1px solid var(--line)}
        .resource-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(120deg,rgba(15,23,42,.035) 0 1px,transparent 1px),linear-gradient(30deg,rgba(15,23,42,.025) 0 1px,transparent 1px);background-size:58px 58px;opacity:.65;pointer-events:none}
        .resource-hero-inner{position:relative;z-index:1;width:100%;max-width:880px;padding:46px 20px 50px;text-align:center;color:#111827}.resource-hero h1{margin:0;color:#111827;font-size:38px;line-height:1.22;font-weight:900;letter-spacing:-.5px}.resource-hero p{margin:18px auto 0;max-width:760px;color:#374151;font-size:18px;line-height:1.7;font-weight:500}
        .resource-search{margin:26px auto 0;width:100%;max-width:820px;display:flex!important;align-items:center;gap:0;padding:6px;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 14px 34px rgba(15,23,42,.08)}
        .resource-search input{flex:1 1 auto;min-width:0;height:46px;border:0!important;border-radius:7px;padding:0 16px;background:#fff;color:#111827;font-size:15px;outline:none;box-shadow:none!important}.resource-search button{flex:0 0 138px;width:138px;height:46px;border:0;border-radius:7px;background:var(--dark);color:#fff;font-size:14px;font-weight:900;cursor:pointer}.resource-search button:hover{background:var(--red)}
        .resource-wrap{width:100%;max-width:1180px;margin:30px auto 0}.resource-section-head,.shop-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.resource-section-head h2,.shop-section-head h2{margin:0;color:#111827;font-size:22px;line-height:1.25;font-weight:900}.resource-section-head p,.shop-section-head p{margin:6px 0 0;color:#6b7280;font-size:13px}.resource-section-head a,.shop-section-head a{color:#374151;font-size:13px;font-weight:800}.resource-section-head a:hover,.shop-section-head a:hover{color:var(--red)}.resource-section-head-line{margin-top:0;padding-top:0;border-top:0}
        .resource-grid,.shop-products-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
        .resource-card,.shop-product-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 18px rgba(15,23,42,.045);transition:.18s ease}.resource-card:hover,.shop-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
        .resource-card-img,.shop-product-img{width:100%!important;height:190px!important;min-height:190px!important;display:flex;align-items:center;justify-content:center;background:#f3f4f6;overflow:hidden;color:#9ca3af;font-size:34px}.resource-card-img img,.shop-product-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.resource-card-body,.shop-product-body{padding:11px 12px 12px}
        .resource-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px;color:#9ca3af}.resource-card-meta span{color:#6b7280}.resource-card-meta span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:var(--yellow);vertical-align:middle}.resource-card-meta em{color:var(--red);font-style:normal;font-weight:900}
        .resource-card h3,.shop-product-body h3{margin:0;color:#111827;font-size:15px;line-height:1.45;font-weight:900;overflow:hidden}.resource-card h3{height:42px}.resource-card h3 a:hover{color:var(--red)}.resource-card p,.shop-product-body p{margin:7px 0 0;color:#6b7280;font-size:12px;line-height:1.6;overflow:hidden}.resource-card p{height:38px}
        .resource-card-foot,.shop-product-foot{margin-top:10px;padding-top:9px;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;gap:10px}.resource-card-foot span{color:#9ca3af;font-size:12px}.resource-card-foot a{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 8px;background:var(--yellow);color:#fff!important;border-radius:3px;font-size:12px;font-weight:800;white-space:nowrap}.resource-card-foot a:hover{background:var(--red)}
        .resource-empty{grid-column:1 / -1;background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;text-align:center;color:#6b7280}.resource-more{margin-top:24px;text-align:center}.resource-more a{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 22px;background:var(--dark);color:#fff!important;border-radius:5px;font-size:14px;font-weight:800}.resource-more a:hover{background:var(--red)}

        .shop-hero{background:#fff;border:1px solid var(--line);border-radius:10px;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center;box-shadow:var(--shadow)}.shop-hero h1{margin:0;color:#111827;font-size:34px;line-height:1.18;font-weight:900;letter-spacing:-.4px}.shop-hero p{margin:16px 0 0;color:#4b5563;font-size:15px;line-height:1.8;max-width:660px}.shop-hero-actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}.shop-hero-card{background:#f9fafb;border:1px solid var(--line);border-radius:10px;padding:20px}.shop-hero-card h3{margin:0 0 12px;font-size:18px;color:#111827}.shop-hero-list{display:grid;gap:10px}.shop-hero-list div{background:#fff;padding:10px 12px;border-radius:6px;border:1px solid #eef2f7;color:#374151;font-size:13px}.shop-section{margin-top:32px}.shop-price{font-size:18px}
        .category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.category-card{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;color:#111827;box-shadow:var(--shadow);transition:.18s ease}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.category-icon{width:40px;height:40px;flex:0 0 40px;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:21px}.category-card h3{margin:0;font-size:15px;font-weight:900}.category-card p{margin:5px 0 0;color:#6b7280;font-size:13px;line-height:1.6}

        .shop-detail,.product-detail-top{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:start}.shop-detail-media,.shop-detail-info,.product-detail-left,.product-info-card{overflow:hidden}.shop-detail-img,.product-gallery-main{height:380px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}.shop-detail-img img,.product-gallery-main img{width:100%;height:100%;object-fit:cover}.shop-detail-img span,.product-gallery-main span{font-size:64px}.shop-detail-info,.product-info-card{padding:26px}.shop-detail-info h1,.product-info-card h1{margin:0;font-size:28px;line-height:1.25;font-weight:900;color:#111827}.shop-detail-desc,.product-short-desc{margin-top:16px;color:#4b5563;line-height:1.85;font-size:14px}.shop-detail-price,.product-price-box{margin-top:18px;padding:16px;background:#fff7f7;border:1px solid #fecaca;border-radius:8px}.shop-detail-price span,.product-price-box span{display:block;color:#6b7280;font-size:13px;font-weight:800}.shop-detail-price strong,.product-price-box strong{display:block;margin-top:4px;color:var(--red);font-size:30px;font-weight:900}.shop-buy-box,.product-action-row,.order-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.shop-notes,.product-service-notes{margin-top:22px;display:grid;gap:10px}.shop-note,.product-service-note{background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:12px 14px;color:#374151;font-size:14px}.shop-note strong,.product-service-note strong{color:#111827;margin-right:4px;font-weight:900}.product-category{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:900;margin-bottom:12px}.quantity-box{max-width:360px}.quantity-control{display:flex;align-items:center;gap:10px}.quantity-control input{width:150px;height:42px;font-size:16px;font-weight:800}.quantity-help,.product-contact-line{margin-top:7px;color:#9ca3af;font-size:13px}.product-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:12px;border-top:1px solid var(--line);background:#fff}.product-thumb{border:1px solid var(--line);background:#f9fafb;border-radius:6px;padding:4px;cursor:pointer;overflow:hidden}.product-thumb.active{border-color:var(--red);box-shadow:0 0 0 2px rgba(220,38,38,.08)}.product-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px}.product-detail-page{display:grid;gap:28px}.product-detail-section,.product-detail-images{padding:26px}.product-detail-section-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.product-detail-section-head span{display:inline-flex;margin-bottom:7px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.product-detail-section-head h2,.product-detail-images h2{margin:0;color:#111827;font-size:23px;line-height:1.25;font-weight:900}.product-content-text{color:#374151;font-size:15px;line-height:1.9;word-break:break-word}.product-detail-image-list{display:grid;gap:16px}.product-detail-image-item{width:100%;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:#f9fafb}.product-detail-image-item img{display:block;width:100%;height:auto}

        .order-card{max-width:760px;margin:0 auto;padding:24px}.order-title{margin:0 0 16px;font-size:24px;font-weight:900}.order-row,.pay-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #f3f4f6}.order-row span,.pay-row span{color:#6b7280}.order-row strong,.pay-row strong{color:#111827;text-align:right;word-break:break-word}
        .my-orders-wrap{padding:18px}.my-order-card{width:100%;background:#f9fafb;border:1px solid #eef0f3;border-radius:8px;padding:16px;margin-bottom:14px;transition:.18s ease}.my-order-card:hover{background:#fff;box-shadow:var(--shadow)}.my-order-card:last-child{margin-bottom:0}.my-order-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.my-order-no{color:#111827;font-weight:900;font-size:13px;margin-bottom:7px;word-break:break-all}.my-order-top h3{margin:0;color:#111827;font-size:17px;line-height:1.4;font-weight:900}.my-order-status{flex:0 0 auto}.my-order-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.my-order-info div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px;min-width:0}.my-order-info span{display:block;color:#6b7280;font-size:12px;font-weight:800;margin-bottom:5px}.my-order-info strong{display:block;color:#111827;font-size:14px;line-height:1.45;word-break:break-word}.my-order-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.my-order-actions form{display:inline-flex}

        .pay-page{max-width:1180px;margin:0 auto}.pay-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.pay-head h1{margin:0;font-size:28px;font-weight:900;color:#111827}.pay-head p{margin:7px 0 0;color:#6b7280;font-size:14px;line-height:1.7}.pay-layout{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}.pay-main{display:grid;gap:16px}.pay-card,.pay-qr-card{padding:20px}.pay-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.pay-card-head h2{margin:0;font-size:18px;font-weight:900;color:#111827}.pay-total{margin-top:16px;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:18px}.pay-total span{color:#6b7280;font-weight:800}.pay-total strong{color:var(--red);font-size:28px;font-weight:900}.pay-tips{display:grid;gap:10px;margin-top:14px}.pay-tips div{background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:12px 14px;color:#374151;font-size:14px}.pay-qrs{display:grid;gap:16px}.pay-qr-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.pay-qr-title span{font-size:17px;font-weight:900;color:#111827}.pay-qr-title small{color:#6b7280;font-weight:800}.pay-qr-card img,.pay-qr-empty{width:100%;max-width:260px;aspect-ratio:1/1;margin:0 auto;border-radius:8px}.pay-qr-card img{object-fit:contain;display:block;border:1px solid var(--line);background:#fff}.pay-qr-empty{border:1px dashed #d1d5db;background:#f9fafb;color:#9ca3af;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.8;font-weight:800}.pay-submit-box{margin-top:24px;margin-bottom:24px}
        .download-box{max-width:820px;margin:0 auto;padding:28px}.download-success{width:58px;height:58px;border-radius:50%;background:#dcfce7;color:#166534;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px}.download-box h1{margin:0;font-size:26px;font-weight:900}.download-box p{color:#6b7280;line-height:1.8}.download-link-card{margin-top:20px;background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:18px}.download-password{margin-top:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;padding:13px;border-radius:8px;font-weight:900}.download-file-list,.admin-file-list{display:grid;gap:10px}.download-file-item,.admin-file-item{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px}.download-file-item strong,.admin-file-item strong{display:block;color:#111827;font-size:14px;line-height:1.5;word-break:break-word}

        body:has(.admin-shell) .page{max-width:none;width:100%;margin:0;padding:0;flex:1}.admin-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:0;margin:0;min-height:calc(100vh - 58px);background:var(--bg)}
        .admin-sidebar{background:#fff;color:#374151;border-right:1px solid var(--line);border-radius:0;padding:0;min-height:calc(100vh - 58px);box-shadow:none;position:sticky;top:58px;align-self:start;overflow:auto}.admin-main,.admin-shell > main{min-width:0;padding:26px 28px 56px}.admin-main > *, .admin-shell > main > *{max-width:none;width:100%;margin-left:0;margin-right:0}
        .admin-logo{height:64px;display:flex;align-items:center;gap:10px;padding:0 14px;margin:0;border-bottom:1px solid var(--line)}.admin-logo-icon{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--dark);color:#fff;font-size:15px;font-weight:900;box-shadow:none}.admin-logo-title{font-size:14px;font-weight:900;color:#111827;line-height:1.2}.admin-logo-sub{font-size:11px;color:#6b7280;margin-top:3px;font-weight:600}
        .admin-menu{display:grid;gap:2px;padding:12px 9px}.admin-menu a{display:flex;align-items:center;gap:10px;min-height:38px;color:#374151;padding:0 11px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:0;transition:.16s ease;position:relative}.admin-menu a:hover{background:#f3f4f6;color:#111827}.admin-menu a.active{background:#111827;color:#fff;font-weight:800}.admin-menu a.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--red)}.admin-menu span{width:18px;text-align:center;font-size:13px;opacity:.9}
        .admin-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.admin-page-head h1{margin:0;font-size:24px;line-height:1.2;font-weight:900;letter-spacing:-.2px;color:#111827}.admin-page-head p{margin:6px 0 0;color:#6b7280;font-size:13px}.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.admin-card-head h2{margin:0;font-size:17px;font-weight:900;color:#111827}.admin-card-head p{margin:5px 0 0;font-size:13px;color:#6b7280}.admin-card-head a{font-size:13px;font-weight:800;color:#374151}.admin-card-head a:hover{color:#111827}
        .stat-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:20px}.stat-grid[style]{grid-template-columns:repeat(5,minmax(140px,1fr))!important}.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;min-height:88px;box-shadow:var(--shadow);transition:.16s ease}.stat-card:hover{border-color:#d1d5db;transform:translateY(-1px)}a.stat-card{color:inherit}.stat-icon{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:18px;background:#f3f4f6!important}.stat-label{color:#6b7280;font-size:12px;font-weight:800}.stat-value{margin-top:3px;font-size:22px;color:#111827;font-weight:900;line-height:1.1}.stat-note{margin-top:4px;color:#9ca3af;font-size:12px}.admin-two-col{display:grid;grid-template-columns:1.35fr .9fr;gap:20px;align-items:start}
        .table-wrap,.table-responsive,.admin-table-wrap,.order-table-wrap{width:100%;overflow:auto;border-radius:8px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.admin-table,table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,table th{background:#f9fafb;color:#374151;font-size:12px;font-weight:900;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td,table td{padding:12px;border-bottom:1px solid #f1f5f9;color:#374151;vertical-align:middle;font-size:13px;line-height:1.55}.admin-table tr:hover td,table tr:hover td{background:#fcfcfd}td a{color:#111827;font-weight:800}td a:hover{color:var(--red)}td form{display:inline-block;margin:0}td button,td .btn,td .button,td .action-btn,td .admin-btn{min-height:30px;padding:0 9px;border-radius:5px;font-size:12px}
        .product-mini-list,.dashboard-order-list,.admin-order-list,.log-list{display:grid;gap:10px}.product-mini{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;padding:11px;background:#fff;border:1px solid var(--line);border-radius:8px}.product-mini-img{width:50px;height:50px;border-radius:8px;background:#f9fafb;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:20px}.product-mini-img img{width:100%;height:100%;object-fit:cover}.product-mini-body h3{margin:0;font-size:14px;color:#111827;font-weight:900;line-height:1.45}.product-mini-body p{margin:4px 0 0;color:#111827!important;font-weight:900;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
        .dashboard-order-item,.admin-order-item,.log-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 15px;color:#111827;transition:.16s ease}.dashboard-order-item:hover,.admin-order-item:hover,.log-item:hover{border-color:#d1d5db}.dashboard-order-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.dashboard-order-no,.admin-order-no{color:#111827!important;font-weight:900;font-size:13px;margin-bottom:6px;word-break:break-all}.dashboard-order-product,.admin-order-product{font-weight:900;color:#111827;font-size:15px;line-height:1.45;word-break:break-word}.dashboard-order-meta,.admin-order-meta{margin-top:5px;color:#6b7280;font-size:12px;line-height:1.5;word-break:break-word}.dashboard-order-side,.admin-order-side{display:grid;justify-items:end;gap:7px;white-space:nowrap}.admin-order-item{display:grid;grid-template-columns:1fr 160px;gap:16px;align-items:center}.log-action{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:900;margin-bottom:9px}.log-desc{font-size:14px;font-weight:800;color:#111827;line-height:1.6}.log-meta{margin-top:6px;color:#6b7280;font-size:13px;line-height:1.6}.log-details{margin-top:10px}.log-details summary{cursor:pointer;color:#374151;font-weight:800;font-size:13px}.log-details pre,.admin-json-box{margin-top:10px;white-space:pre-wrap;background:#0f172a;color:#e5e7eb;padding:14px;border-radius:8px;overflow:auto;font-size:12px;line-height:1.6}
        body:has(.admin-shell) .page > .success-box,body:has(.admin-shell) .page > .error-box{position:fixed;top:74px;right:24px;z-index:9999;width:auto;max-width:420px;min-width:280px;margin:0;box-shadow:0 14px 36px rgba(15,23,42,.13);border-radius:8px;animation:adminAlertIn .22s ease-out}@keyframes adminAlertIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
        .admin-upload-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.admin-upload-item{background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:10px}.admin-upload-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#fff;border:1px solid var(--line)}.admin-upload-item .muted{margin-top:6px;text-align:center;font-size:12px}.admin-upload-item .actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.admin-upload-item form,.admin-file-item form{margin:0}.admin-upload-item .admin-btn,.admin-file-item .admin-btn{min-height:30px;padding:6px 9px;font-size:12px}
        .admin-section-gap{margin-top:20px}.admin-order-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.admin-order-summary-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:var(--shadow)}.admin-order-summary-card span{display:block;color:#6b7280;font-size:12px;font-weight:800;margin-bottom:7px}.admin-order-summary-card strong{display:block;color:#111827;font-size:20px;font-weight:900;line-height:1.25}.admin-order-action-card{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-order-action-card h2{margin:0;color:#111827;font-size:17px;font-weight:900}.admin-order-action-card p{margin:5px 0 0;color:#6b7280;font-size:13px}.admin-order-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}.admin-info-list{display:grid;gap:0}.admin-info-list > div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid #f3f4f6}.admin-info-list > div:last-child{border-bottom:0}.admin-info-list span{color:#6b7280;font-size:13px;font-weight:700}.admin-info-list strong{color:#111827;font-size:14px;font-weight:900;text-align:right;word-break:break-word}

        .auth-page,.verify-email-page{min-height:calc(100vh - 190px);display:flex;align-items:center;justify-content:center;padding:44px 0}.auth-card{width:100%;max-width:430px;padding:28px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-logo{width:42px;height:42px;border-radius:8px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;flex:0 0 42px}.auth-brand h1{margin:0;font-size:24px;line-height:1.2;color:#111827;font-weight:900}.auth-brand p{margin:5px 0 0;color:#6b7280;font-size:13px;line-height:1.6}.auth-form{display:grid;gap:16px}.auth-field label{display:block;margin-bottom:7px;color:#374151;font-size:13px;font-weight:800}.auth-field input{height:44px}.auth-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:-2px}.auth-remember{display:inline-flex;align-items:center;gap:7px;margin:0;color:#6b7280;font-size:13px;font-weight:600}.auth-remember input{width:15px;height:15px}.auth-options a{color:#374151;font-size:13px;font-weight:800}.auth-options a:hover{color:var(--red)}.auth-submit{width:100%;height:46px;border:0;border-radius:6px;background:var(--dark);font-size:15px}.auth-bottom{margin-top:20px;padding-top:18px;border-top:1px solid #f3f4f6;display:flex;justify-content:center;gap:8px;color:#6b7280;font-size:14px}.auth-bottom a{color:var(--red);font-weight:900}.verify-email-card{width:100%;max-width:600px;padding:30px;text-align:center}.verify-email-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:10px;background:#fef2f2;display:flex;align-items:center;justify-content:center;font-size:30px}.verify-email-card h1{margin:0;font-size:26px;font-weight:900}.verify-email-card p{margin:14px auto 0;max-width:520px;color:#4b5563;font-size:14px;line-height:1.9}.verify-email-actions{margin-top:24px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.verify-email-help{margin-top:20px;padding:13px;border-radius:8px;background:#f9fafb;color:#6b7280;font-size:13px;line-height:1.7}

        nav[role="navigation"]{margin-top:20px;display:flex;flex-direction:column;gap:12px;color:#6b7280;font-size:13px}nav[role="navigation"] svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;display:inline-block;vertical-align:middle}nav[role="navigation"] > div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}nav[role="navigation"] a,nav[role="navigation"] span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:#fff;color:#374151;font-size:13px;font-weight:700;line-height:1}nav[role="navigation"] a:hover{border-color:#9ca3af;color:#111827;background:#fff}nav[role="navigation"] span[aria-current="page"] span{background:var(--dark);border-color:var(--dark);color:#fff}nav[role="navigation"] span[aria-disabled="true"],nav[role="navigation"] span[aria-disabled="true"] span{color:#9ca3af;background:#f9fafb;border-color:var(--line)}nav[role="navigation"] .hidden{display:flex!important}

        .site-footer{margin-top:30px;background:#111827;color:#d1d5db}.site-footer-inner{max-width:1240px;margin:0 auto;padding:34px 24px 28px;display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.1fr;gap:24px}.footer-brand h3{margin:0 0 11px;color:#fff;font-size:20px;font-weight:900}.footer-brand p,.footer-col p{margin:0 0 8px;color:#9ca3af;font-size:13px;line-height:1.8}.footer-col h4{margin:0 0 11px;color:#fff;font-size:15px;font-weight:900}.site-footer-bottom{max-width:1240px;margin:0 auto;padding:15px 24px 20px;border-top:1px solid rgba(255,255,255,.08);color:#9ca3af;font-size:13px;text-align:center}
        .app-modal-mask{position:fixed;inset:0;z-index:99999;background:rgba(17,24,39,.38);display:none;align-items:center;justify-content:center;padding:20px}.app-modal-mask.show{display:flex}.app-modal{width:100%;max-width:420px;background:#fff;border-radius:10px;box-shadow:0 24px 70px rgba(15,23,42,.24);overflow:hidden;animation:modalIn .18s ease-out}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.app-modal-head{padding:22px 22px 10px;display:flex;gap:13px;align-items:flex-start}.app-modal-icon{width:40px;height:40px;border-radius:8px;background:#fef2f2;color:var(--red);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 40px}.app-modal-title{margin:0;color:#111827;font-size:18px;font-weight:900;line-height:1.3}.app-modal-message{margin:7px 0 0;color:#4b5563;font-size:14px;line-height:1.8;white-space:pre-line}.app-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 22px}.app-modal-btn{border:0;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:900;cursor:pointer}.app-modal-cancel{background:#f3f4f6;color:#111827}.app-modal-cancel:hover{background:#e5e7eb}.app-modal-confirm{background:var(--red);color:#fff}.app-modal-confirm:hover{background:var(--red-dark)}

        @media(max-width:1280px){.stat-grid,.stat-grid[style]{grid-template-columns:repeat(3,1fr)!important}.admin-two-col{grid-template-columns:1fr}}
        @media(max-width:1160px){.resource-grid,.shop-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.category-grid{grid-template-columns:repeat(3,1fr)}.resource-card-img,.shop-product-img{height:175px!important;min-height:175px!important}.admin-upload-grid{grid-template-columns:repeat(4,1fr)}}
        @media(max-width:980px){.pay-layout{grid-template-columns:1fr}.pay-qrs{grid-template-columns:1fr 1fr}.shop-detail,.product-detail-top{grid-template-columns:1fr}.product-gallery-main,.shop-detail-img{height:340px}.topbar-inner{height:auto;min-height:58px;align-items:stretch;flex-direction:column;gap:10px;padding:12px 14px}.topbar-left{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.main-nav{width:100%;overflow-x:auto;padding-bottom:4px}.main-nav a{flex:0 0 auto;background:#f9fafb}.topbar-right{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}}
        @media(max-width:900px){.page{padding:18px 14px 38px}.admin-shell{grid-template-columns:1fr;min-height:auto}.admin-sidebar{position:static;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.admin-main,.admin-shell > main{padding:22px 14px 46px}.admin-main > *, .admin-shell > main > *{max-width:none}.admin-menu{grid-template-columns:repeat(2,1fr);padding:10px}.form-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.admin-page-head{flex-direction:column}.admin-order-item{grid-template-columns:1fr}.admin-order-side,.dashboard-order-side{justify-items:start;text-align:left}.shop-hero{grid-template-columns:1fr;padding:30px 22px}.shop-hero h1{font-size:28px}.resource-hero{margin-left:-14px;margin-right:-14px;margin-top:-18px;min-height:245px}.resource-hero-inner{padding:36px 16px}.resource-hero h1{font-size:28px}.resource-hero p{font-size:15px}.resource-search{max-width:100%}.resource-search button{flex:0 0 96px;width:96px}.resource-grid,.shop-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.resource-card-img,.shop-product-img{height:150px!important;min-height:150px!important}.site-footer-inner{grid-template-columns:1fr 1fr}body:has(.admin-shell) .page > .success-box,body:has(.admin-shell) .page > .error-box{position:static;max-width:none;width:auto;margin:14px}}
        @media(max-width:760px){.my-order-info{grid-template-columns:1fr}.my-order-top{flex-direction:column;gap:10px}.my-order-actions{display:grid;grid-template-columns:1fr}.my-order-actions .admin-btn,.my-order-actions form,.my-order-actions button{width:100%}.admin-order-summary{grid-template-columns:1fr}.admin-order-layout{grid-template-columns:1fr}.admin-info-list > div{grid-template-columns:1fr;gap:6px}.admin-info-list strong{text-align:left}.admin-order-action-card{align-items:flex-start;flex-direction:column}.admin-upload-grid{grid-template-columns:repeat(2,1fr)}}
        @media(max-width:700px){form[method="GET"],form[action*="logs"]{grid-template-columns:1fr!important}.category-grid{grid-template-columns:1fr}.product-detail-section,.product-detail-images{padding:20px}.product-detail-section-head h2,.product-detail-images h2{font-size:21px}.download-file-item,.admin-file-item{align-items:flex-start;flex-direction:column}.download-file-item .admin-btn{width:100%}}
        @media(max-width:640px){.pay-head{flex-direction:column}.pay-qrs{grid-template-columns:1fr}.pay-row,.pay-total,.order-row{flex-direction:column;align-items:flex-start;gap:5px}.pay-row strong,.order-row strong{text-align:left}nav[role="navigation"] > div{justify-content:center}nav[role="navigation"] a,nav[role="navigation"] span{min-width:32px;height:32px;font-size:12px;padding:0 8px}}
        @media(max-width:560px){.resource-search{display:flex!important;gap:6px}.resource-search input{height:42px;padding:0 12px;font-size:14px}.resource-search button{flex:0 0 82px;width:82px;height:42px;font-size:13px}.resource-grid,.shop-products-grid{grid-template-columns:1fr!important}.resource-card-img,.shop-product-img{height:190px!important;min-height:190px!important}.admin-menu{grid-template-columns:1fr}.stat-grid,.stat-grid[style]{grid-template-columns:1fr!important}.admin-card,.card{padding:16px}.admin-page-head h1{font-size:22px}.shop-section-head,.resource-section-head{flex-direction:column;align-items:flex-start}.product-gallery-main,.shop-detail-img{height:250px}.shop-detail-info,.product-info-card{padding:20px}.shop-detail-info h1,.product-info-card h1{font-size:24px}.download-box{padding:22px}.site-footer-inner{grid-template-columns:1fr;padding:28px 18px 24px}.site-footer-bottom{padding:14px 18px 20px}.app-modal{max-width:100%;border-radius:10px}.app-modal-actions{display:grid;grid-template-columns:1fr}.app-modal-btn{width:100%}.auth-page{padding:28px 0;align-items:flex-start}.auth-card{padding:22px 18px}.auth-brand{align-items:flex-start}.auth-brand h1{font-size:22px}.auth-options{flex-direction:column;align-items:flex-start}.verify-email-card{padding:24px 18px}.verify-email-actions{display:grid;grid-template-columns:1fr}.verify-email-actions form,.verify-email-actions button{width:100%}}
        /* =========================================================
           2026-04 Front/Admin Final Adjustments
           固定前台导航 / 深色全屏搜索横幅 / 白色页脚 / 手机折叠菜单 / 后台侧栏顶格
        ========================================================= */
        body{padding-top:58px}
        .topbar{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:900;background:#fff!important;border-bottom:1px solid var(--line);box-shadow:0 4px 16px rgba(15,23,42,.06)}
        .topbar-inner{height:58px;min-height:58px}
        .mobile-nav-toggle{display:none;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:6px;height:34px;padding:0 10px;font-size:13px;font-weight:900;align-items:center;gap:7px;line-height:1}
        .mobile-nav-toggle::before{content:"☰";font-size:16px;line-height:1}
        body.nav-open .mobile-nav-toggle::before{content:"×";font-size:18px}

        .resource-hero{width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;margin-top:-26px!important;min-height:315px;background:linear-gradient(135deg,rgba(15,23,42,.78),rgba(15,23,42,.86)),url('/storage/product-images/hero-bg.jpg') center center/cover no-repeat!important;border-bottom:0!important}
        .resource-hero::before{background-image:linear-gradient(120deg,rgba(255,255,255,.055) 0 1px,transparent 1px),linear-gradient(30deg,rgba(255,255,255,.035) 0 1px,transparent 1px)!important;background-size:56px 56px!important;opacity:.85!important}
        .resource-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none}
        .resource-hero-inner{max-width:920px;color:#fff!important}
        .resource-hero h1{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.18)}
        .resource-hero p{color:#d1d5db!important}
        .resource-search{border-color:rgba(255,255,255,.16)!important;box-shadow:0 18px 45px rgba(0,0,0,.22)!important}

        .site-footer{margin-top:34px;background:#fff!important;color:#374151!important;border-top:1px solid var(--line)!important;box-shadow:0 -4px 16px rgba(15,23,42,.035)}
        .site-footer-inner{padding:34px 24px 28px!important}
        .footer-brand h3,.footer-col h4{color:#111827!important}
        .footer-brand p,.footer-col p{color:#6b7280!important}
        .site-footer-bottom{border-top:1px solid var(--line)!important;color:#9ca3af!important;background:#fff!important;text-align:center}

        body:has(.admin-shell){padding-top:0;background:#f5f6f8}
        body:has(.admin-shell) .page{max-width:none;margin:0;padding:0;flex:1}
        body:has(.admin-shell) .admin-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:210px!important;height:100vh!important;min-height:100vh!important;z-index:920!important;border-radius:0!important;background:#172233!important}
        body:has(.admin-shell) .admin-shell{display:block!important;margin:0!important;min-height:100vh!important}
        body:has(.admin-shell) .admin-main,body:has(.admin-shell) .admin-shell > main{margin-left:210px!important;padding:76px 34px 70px!important;min-width:0}
        body:has(.admin-shell) .admin-main > *,body:has(.admin-shell) .admin-shell > main > *{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
        body:has(.admin-shell) .topbar{left:210px!important;right:0!important;width:auto!important;height:56px!important;background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:0 4px 16px rgba(15,23,42,.045)!important;padding-left:0!important;z-index:850!important}
        body:has(.admin-shell) .topbar-inner{max-width:none!important;height:56px!important;min-height:56px!important;padding:0 34px!important;justify-content:flex-end!important}
        body:has(.admin-shell) .topbar-left{display:none!important}
        body:has(.admin-shell) .topbar-right{width:auto!important;justify-content:flex-end!important;overflow:visible!important;padding:0!important}
        body:has(.admin-shell) .topbar-right a{height:32px;background:#f9fafb;color:#374151!important;border:1px solid #e5e7eb}
        body:has(.admin-shell) .topbar-right a:hover{background:#fff;color:#111827!important;border-color:#d1d5db}
        body:has(.admin-shell) .topbar-right .admin-link{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important}

        @media(max-width:980px){
            body{padding-top:58px}
            .topbar-inner{height:auto;min-height:58px;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;padding:0 14px!important}
            .topbar-left{height:58px;width:100%;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
            .brand{font-size:17px}
            .mobile-nav-toggle{display:inline-flex}
            .main-nav{display:none!important;width:100%;overflow:visible!important;padding:0 0 10px!important;border-top:1px solid #f1f5f9;gap:0!important}
            body.nav-open .main-nav{display:grid!important;grid-template-columns:1fr!important}
            .main-nav a{height:40px!important;justify-content:flex-start!important;background:#fff!important;border-bottom:1px solid #f3f4f6;border-radius:0!important;padding:0 2px!important;color:#374151!important;line-height:40px!important}
            .main-nav a:hover{background:#f9fafb!important;color:#dc2626!important}
            .topbar-right{width:100%;display:flex!important;justify-content:flex-start!important;gap:8px!important;padding:0 0 10px!important;overflow-x:auto!important}
            .topbar-right a{flex:0 0 auto}
            .resource-hero{margin-top:-18px!important;min-height:285px}
        }
        @media(max-width:900px){
            body:has(.admin-shell){padding-top:0}
            body:has(.admin-shell) .admin-sidebar{position:static!important;width:100%!important;height:auto!important;min-height:auto!important}
            body:has(.admin-shell) .admin-main,body:has(.admin-shell) .admin-shell > main{margin-left:0!important;padding:76px 14px 46px!important}
            body:has(.admin-shell) .topbar{left:0!important;width:100%!important;height:56px!important;position:fixed!important}
            body:has(.admin-shell) .topbar-inner{height:56px!important;min-height:56px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:0 14px!important}
            body:has(.admin-shell) .topbar-left{display:none!important}
            body:has(.admin-shell) .topbar-right{width:auto!important;padding:0!important;overflow-x:auto!important}
        }
        @media(max-width:560px){
            .resource-hero{min-height:270px}
            .site-footer-inner{grid-template-columns:1fr!important;padding:28px 18px 24px!important}
        }


        /* =========================================================
           2026-04 Mobile Drawer + Light Admin Sidebar Fix
           手机端右侧抽屉菜单 / 后台浅色侧边栏
        ========================================================= */
        @media(max-width:980px){
            body:not(:has(.admin-shell)){padding-top:58px}
            body:not(:has(.admin-shell)) .topbar{height:58px!important;overflow:visible!important}
            body:not(:has(.admin-shell)) .topbar-inner{height:58px!important;min-height:58px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 14px!important}
            body:not(:has(.admin-shell)) .topbar-left{width:100%!important;height:58px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
            body:not(:has(.admin-shell)) .brand{font-size:17px!important;max-width:calc(100vw - 86px);overflow:hidden;text-overflow:ellipsis}
            body:not(:has(.admin-shell)) .mobile-nav-toggle{display:inline-flex!important;width:42px;height:38px;padding:0;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;align-items:center;justify-content:center;font-size:0;box-shadow:0 6px 16px rgba(15,23,42,.06)}
            body:not(:has(.admin-shell)) .mobile-nav-toggle::before{content:""!important;width:18px;height:12px;display:block;background:linear-gradient(#111827,#111827) left top/18px 2px no-repeat,linear-gradient(#111827,#111827) left center/18px 2px no-repeat,linear-gradient(#111827,#111827) left bottom/18px 2px no-repeat}
            body.nav-open:not(:has(.admin-shell)) .mobile-nav-toggle::before{content:""!important;background:linear-gradient(#111827,#111827) left top/18px 2px no-repeat,linear-gradient(#111827,#111827) left center/18px 2px no-repeat,linear-gradient(#111827,#111827) left bottom/18px 2px no-repeat}
            body:not(:has(.admin-shell))::after{content:"";position:fixed;inset:58px 0 0 0;z-index:910;background:rgba(15,23,42,.42);opacity:0;pointer-events:none;transition:.22s ease}
            body.nav-open:not(:has(.admin-shell))::after{opacity:1;pointer-events:auto}
            body:not(:has(.admin-shell)) .main-nav{position:fixed!important;top:58px!important;right:0!important;bottom:0!important;width:min(78vw,330px)!important;height:calc(100vh - 58px)!important;z-index:930!important;display:block!important;padding:18px 16px 116px!important;background:#fff!important;border-left:1px solid #e5e7eb;box-shadow:-22px 0 50px rgba(15,23,42,.18);overflow-y:auto!important;transform:translateX(105%);opacity:0;pointer-events:none;transition:transform .26s ease,opacity .2s ease}
            body.nav-open:not(:has(.admin-shell)) .main-nav{transform:translateX(0);opacity:1;pointer-events:auto}
            body:not(:has(.admin-shell)) .main-nav::before{content:"分类导航";display:block;margin:0 0 12px;padding:0 2px 12px;border-bottom:1px solid #f1f5f9;color:#111827;font-size:16px;font-weight:900}
            body:not(:has(.admin-shell)) .main-nav a{width:100%!important;height:44px!important;line-height:44px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 12px!important;margin:0 0 7px!important;border:1px solid transparent!important;border-radius:9px!important;background:#fff!important;color:#374151!important;font-size:14px!important;font-weight:800!important}
            body:not(:has(.admin-shell)) .main-nav a::after{content:"›";color:#9ca3af;font-size:18px;font-weight:900}
            body:not(:has(.admin-shell)) .main-nav a:hover{background:#f9fafb!important;border-color:#e5e7eb!important;color:#111827!important}
            body:not(:has(.admin-shell)) .topbar-right{position:fixed!important;right:16px!important;bottom:18px!important;width:calc(min(78vw,330px) - 32px)!important;z-index:935!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px!important;margin:0!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(15,23,42,.12)!important;transform:translateX(120%);opacity:0;pointer-events:none;transition:transform .26s ease,opacity .2s ease}
            body.nav-open:not(:has(.admin-shell)) .topbar-right{transform:translateX(0);opacity:1;pointer-events:auto}
            body:not(:has(.admin-shell)) .topbar-right a{width:100%!important;height:38px!important;border:1px solid #e5e7eb!important;border-radius:8px!important;background:#fff!important;color:#374151!important}
            body:not(:has(.admin-shell)) .topbar-right .admin-link,body:not(:has(.admin-shell)) .topbar-right .register-link{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important}
        }

        body:has(.admin-shell) .admin-sidebar{background:#fff!important;color:#374151!important;border-right:1px solid #e5e7eb!important;box-shadow:4px 0 18px rgba(15,23,42,.035)!important}
        body:has(.admin-shell) .admin-logo{height:64px!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important}
        body:has(.admin-shell) .admin-logo-icon{background:#1f2937!important;color:#fff!important;border-radius:8px!important}
        body:has(.admin-shell) .admin-logo-title{color:#111827!important}
        body:has(.admin-shell) .admin-logo-sub{color:#6b7280!important}
        body:has(.admin-shell) .admin-menu a{color:#374151!important;border-radius:8px!important;font-weight:700!important}
        body:has(.admin-shell) .admin-menu a:hover{background:#f3f4f6!important;color:#111827!important}
        body:has(.admin-shell) .admin-menu a.active{background:#1f2937!important;color:#fff!important}
        body:has(.admin-shell) .admin-menu a.active::before{background:#dc2626!important}
        body:has(.admin-shell) .admin-menu span{opacity:.9!important}
        body:has(.admin-shell) .admin-sidebar::-webkit-scrollbar-thumb{background:#d1d5db!important}

        @media(max-width:900px){
            body:has(.admin-shell) .topbar-right{position:static!important;display:flex!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
            body:has(.admin-shell) .admin-sidebar{position:static!important;width:100%!important;height:auto!important;min-height:auto!important}
        }


        /* =========================================================
           2026-04 v4: clickable front drawer + admin mobile drawer
           前台抽屉可点击 / 后台手机端侧边栏抽屉化
        ========================================================= */
        @media(max-width:980px){
            body:not(:has(.admin-shell)) .topbar{z-index:980!important}
            body:not(:has(.admin-shell))::after{z-index:940!important}
            body:not(:has(.admin-shell)) .mobile-nav-toggle{position:relative;z-index:1005!important;pointer-events:auto!important}
            body:not(:has(.admin-shell)) .main-nav{z-index:1000!important;pointer-events:auto!important}
            body:not(:has(.admin-shell)) .main-nav a{pointer-events:auto!important;position:relative;z-index:1001!important}
            body:not(:has(.admin-shell)) .topbar-right{z-index:1002!important;pointer-events:auto!important}
            body:not(:has(.admin-shell)) .topbar-right a{pointer-events:auto!important}
        }

        .admin-mobile-toggle{display:none;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:10px;width:42px;height:38px;align-items:center;justify-content:center;padding:0;box-shadow:0 6px 16px rgba(15,23,42,.06);cursor:pointer;position:relative;z-index:1005;font-size:0;flex:0 0 auto}
        .admin-mobile-toggle::before{content:"";width:18px;height:12px;display:block;background:linear-gradient(#111827,#111827) left top/18px 2px no-repeat,linear-gradient(#111827,#111827) left center/18px 2px no-repeat,linear-gradient(#111827,#111827) left bottom/18px 2px no-repeat}

        @media(max-width:900px){
            body:has(.admin-shell) .topbar{z-index:980!important;height:56px!important;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important;box-shadow:0 4px 16px rgba(15,23,42,.06)!important}
            body:has(.admin-shell) .topbar-inner{height:56px!important;min-height:56px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding:0 14px!important}
            body:has(.admin-shell) .admin-mobile-toggle{display:inline-flex!important;order:1}
            body:has(.admin-shell) .topbar-right{order:2;position:static!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow-x:auto!important;max-width:calc(100vw - 70px)}
            body:has(.admin-shell) .topbar-right a{height:32px!important;min-height:32px!important;padding:0 10px!important;border-radius:8px!important;font-size:13px!important;white-space:nowrap!important;background:#f9fafb!important;color:#374151!important;border:1px solid #e5e7eb!important}
            body:has(.admin-shell) .topbar-right .admin-link{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important}

            body:has(.admin-shell)::after{content:"";position:fixed;inset:56px 0 0 0;z-index:940;background:rgba(15,23,42,.42);opacity:0;pointer-events:none;transition:.22s ease}
            body.admin-nav-open:has(.admin-shell)::after{opacity:1;pointer-events:auto}

            body:has(.admin-shell) .admin-sidebar{position:fixed!important;top:56px!important;right:0!important;left:auto!important;bottom:0!important;width:min(78vw,330px)!important;height:calc(100vh - 56px)!important;min-height:calc(100vh - 56px)!important;z-index:1000!important;background:#fff!important;color:#374151!important;border-left:1px solid #e5e7eb!important;border-right:0!important;box-shadow:-22px 0 50px rgba(15,23,42,.18)!important;overflow-y:auto!important;transform:translateX(105%)!important;opacity:0!important;pointer-events:none!important;transition:transform .26s ease,opacity .2s ease!important;padding:0!important}
            body.admin-nav-open:has(.admin-shell) .admin-sidebar{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important}
            body:has(.admin-shell) .admin-logo{height:auto!important;min-height:62px!important;padding:16px 16px 14px!important;background:#fff!important;border-bottom:1px solid #f1f5f9!important}
            body:has(.admin-shell) .admin-logo::after{content:"后台菜单";margin-left:auto;color:#111827;font-size:15px;font-weight:900;white-space:nowrap}
            body:has(.admin-shell) .admin-menu{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:16px!important;background:#fff!important}
            body:has(.admin-shell) .admin-menu a{width:100%!important;height:44px!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:0 12px!important;margin:0!important;border:1px solid transparent!important;border-radius:9px!important;background:#fff!important;color:#374151!important;font-size:14px!important;font-weight:800!important;position:relative!important}
            body:has(.admin-shell) .admin-menu a::after{content:"›";margin-left:auto;color:#9ca3af;font-size:18px;font-weight:900}
            body:has(.admin-shell) .admin-menu a:hover{background:#f9fafb!important;border-color:#e5e7eb!important;color:#111827!important}
            body:has(.admin-shell) .admin-menu a.active{background:#1f2937!important;border-color:#1f2937!important;color:#fff!important}
            body:has(.admin-shell) .admin-menu a.active::before{display:none!important}
            body:has(.admin-shell) .admin-menu a.active::after{color:#fff!important;opacity:.75}
            body:has(.admin-shell) .admin-main,body:has(.admin-shell) .admin-shell > main{margin-left:0!important;padding:76px 14px 46px!important}
        }

        @media(max-width:430px){
            body:has(.admin-shell) .topbar-right a{font-size:12px!important;padding:0 8px!important}
            body:has(.admin-shell) .topbar-right{gap:6px!important;max-width:calc(100vw - 62px)}
        }


        /* =========================================================
           Source-style product detail page
        ========================================================= */
        .source-detail-page{width:100%;max-width:1280px;margin:0 auto;color:#334155}
        .source-breadcrumb{margin:2px 0 22px;color:#94a3b8;font-size:13px;line-height:1.7;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
        .source-breadcrumb a{color:#64748b;font-weight:600}
        .source-breadcrumb a:hover{color:#111827}
        .source-breadcrumb strong{color:#64748b;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}

        .source-detail-top{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:18px;display:grid;grid-template-columns:380px minmax(0,1fr);gap:32px;align-items:stretch;box-shadow:0 1px 2px rgba(15,23,42,.035)}
        .source-detail-cover{background:#fff;display:flex;flex-direction:column;gap:14px}
        .source-detail-cover img{width:100%;height:230px;object-fit:cover;border:1px solid #eef2f7;border-radius:4px;background:#f8fafc;box-shadow:0 12px 34px rgba(15,23,42,.08)}
        .source-detail-cover-empty{height:230px;border:1px solid #eef2f7;border-radius:4px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:52px;color:#94a3b8}
        .source-detail-update{background:#f8fafc;border:1px solid #eef2f7;border-radius:4px;padding:12px 14px;color:#64748b;font-size:14px}
        .source-detail-update strong{color:#334155;font-weight:700}

        .source-detail-info{min-width:0;padding:18px 0 0}
        .source-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
        .source-detail-title-row h1{margin:0;color:#334155;font-size:22px;line-height:1.45;font-weight:800;letter-spacing:0}
        .source-detail-hot{flex:0 0 auto;color:#94a3b8;font-size:28px;line-height:1;font-weight:900;font-style:italic;position:relative;padding-left:28px}
        .source-detail-hot:before{content:"HOT";position:absolute;left:0;top:5px;width:24px;height:24px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-style:normal;display:flex;align-items:center;justify-content:center}
        .source-detail-line{height:1px;background:#94a3b8;margin:14px 0 20px;opacity:.7}

        .source-detail-meta-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:18px}
        .source-detail-score{display:flex;align-items:flex-end;gap:7px;color:#1e90ff}
        .source-detail-score strong{font-size:34px;line-height:1;font-weight:900}
        .source-detail-score span{color:#334155;font-size:18px;font-weight:800}
        .source-detail-discount{display:flex;align-items:center;gap:10px;color:#64748b;font-size:13px}
        .source-detail-discount strong{display:inline-flex;align-items:center;height:34px;padding:0 22px;border-radius:999px;background:#eef2f7;color:#334155;font-size:15px;font-weight:900}

        .source-detail-desc{margin:0 0 18px;color:#64748b;font-size:14px;line-height:1.8}
        .source-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}
        .source-buy-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
        .source-quantity{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;color:#64748b}
        .source-quantity label{margin:0;font-size:13px;font-weight:700;color:#64748b}
        .source-quantity input{width:68px;height:30px;padding:0 8px;border-radius:4px;font-size:14px;font-weight:700;text-align:center}
        .source-quantity span{font-size:13px}
        .source-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:150px;padding:0 22px;border:0;border-radius:4px;font-size:14px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;transition:.18s ease}
        .source-btn-primary{background:#42c928;color:#fff!important}
        .source-btn-primary:hover{background:#2fb41b;color:#fff!important}
        .source-btn-light{background:#111827;color:#fff!important}
        .source-btn-light:hover{background:#374151;color:#fff!important}

        .source-detail-services{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:16px 0 14px;color:#64748b;font-size:13px}
        .source-detail-services span:before{content:"◆";margin-right:6px;color:#3b82f6;font-size:10px}
        .source-detail-notice{background:#f8fafc;border:1px solid #eef2f7;border-radius:4px;padding:12px 14px;color:#64748b;font-size:13px;line-height:1.8}
        .source-detail-contact{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#64748b;font-size:13px}

        .source-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;margin-top:18px;align-items:start}
        .source-detail-main{display:grid;gap:18px;min-width:0}
        .source-article-card,.source-side-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.035)}
        .source-article-card{padding:0 28px 28px}
        .source-tabs{height:64px;display:flex;align-items:center;gap:34px;border-bottom:1px solid #eef2f7;margin-bottom:22px}
        .source-tabs span{height:64px;display:inline-flex;align-items:center;color:#94a3b8;font-size:18px;font-weight:800;position:relative}
        .source-tabs span.active{color:#64748b}
        .source-tabs span.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1e90ff}
        .source-content-text{color:#475569;font-size:15px;line-height:2;word-break:break-word;white-space:normal}
        .source-content-text p{margin:0 0 12px}
        .source-card-title{height:58px;display:flex;align-items:center;border-bottom:1px solid #eef2f7;margin:0 0 22px;color:#334155;font-size:18px;font-weight:900}
        .source-detail-image-list{display:grid;gap:14px}
        .source-detail-image-item{border:1px solid #eef2f7;border-radius:4px;background:#f8fafc;overflow:hidden}
        .source-detail-image-item img{display:block;width:100%;height:auto}

        .source-detail-sidebar{display:grid;gap:18px;position:sticky;top:78px}
        .source-side-card{padding:18px}
        .source-side-card h3{margin:0 0 14px;color:#334155;font-size:16px;line-height:1.4;font-weight:900}
        .source-side-search{height:42px;display:flex;align-items:center;border:1px solid #eef2f7;background:#fff;border-radius:2px;overflow:hidden;margin:0}
        .source-side-search input{height:42px;min-height:42px;border:0!important;border-radius:0;padding:0 12px;box-shadow:none!important;color:#475569;font-size:14px}
        .source-side-search button{width:42px;height:42px;min-height:42px;border:0;background:#fff;color:#0f172a;font-size:18px;cursor:pointer;padding:0}
        .source-side-list{display:grid;gap:10px}
        .source-side-list a{display:block;color:#334155;font-size:14px;line-height:1.65;font-weight:600}
        .source-side-list a:hover{color:#dc2626}
        .source-category-list{gap:9px}
        .source-category-list a{font-weight:700;color:#475569}
        .source-side-empty{margin:0;color:#94a3b8;font-size:13px}

        @media(max-width:1080px){
            .source-detail-top{grid-template-columns:320px minmax(0,1fr);gap:22px}
            .source-detail-layout{grid-template-columns:1fr}
            .source-detail-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
            .source-side-card:first-child{grid-column:1 / -1}
        }
        @media(max-width:760px){
            .source-breadcrumb{margin-top:0;font-size:12px}
            .source-breadcrumb strong{max-width:100%}
            .source-detail-top{grid-template-columns:1fr;padding:12px;gap:16px;border-radius:4px}
            .source-detail-cover img,.source-detail-cover-empty{height:220px}
            .source-detail-info{padding:0}
            .source-detail-title-row h1{font-size:20px}
            .source-detail-hot{display:none}
            .source-detail-meta-row{gap:16px}
            .source-detail-score strong{font-size:30px}
            .source-detail-actions,.source-buy-form{display:grid;grid-template-columns:1fr;width:100%}
            .source-btn{width:100%;min-width:0}
            .source-quantity{width:100%;justify-content:center}
            .source-detail-services{gap:10px}
            .source-detail-layout{gap:16px;margin-top:16px}
            .source-article-card{padding:0 16px 20px;border-radius:4px}
            .source-tabs{height:54px;gap:22px;margin-bottom:18px}
            .source-tabs span{height:54px;font-size:16px}
            .source-content-text{font-size:14px;line-height:1.9}
            .source-detail-sidebar{grid-template-columns:1fr}
        }

        /* ================= 积分 / 会员 ================= */
        .points-page{max-width:1180px;margin:0 auto}.points-narrow{max-width:780px}.points-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.points-head h1{margin:0;font-size:24px;line-height:1.25;font-weight:900;color:#111827}.points-head p{margin:7px 0 0;color:#6b7280;font-size:14px;line-height:1.7}.points-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.points-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.045)}.points-summary-card span{display:block;color:#6b7280;font-size:12px;font-weight:800;margin-bottom:8px}.points-summary-card strong{display:block;color:#111827;font-size:22px;font-weight:900}.points-summary-card em{display:inline-flex;margin-top:8px;color:#92400e;background:#fef3c7;border-radius:999px;padding:4px 8px;font-style:normal;font-size:12px;font-weight:800}.points-layout{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}.point-recharge-mini-list{display:grid;gap:10px}.point-recharge-mini{border:1px solid #e5e7eb;background:#f9fafb;border-radius:10px;padding:12px}.point-recharge-mini strong{display:block;color:#111827;font-size:13px}.point-recharge-mini span{display:block;margin-top:5px;color:#6b7280;font-size:13px;line-height:1.6}.point-recharge-mini a{display:inline-flex;margin-top:8px;font-weight:900;color:#dc2626}.admin-inline-form{display:grid;gap:8px;min-width:0}.admin-inline-form input,.admin-inline-form select{height:34px;min-height:34px;padding:6px 9px;border-radius:7px;font-size:13px}.inline-check{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;color:#374151}.inline-check input{width:auto;min-height:auto}.source-detail-score+.source-detail-score{margin-left:10px}@media(max-width:980px){.points-summary-grid{grid-template-columns:repeat(2,1fr)}.points-layout{grid-template-columns:1fr}}@media(max-width:560px){.points-head{flex-direction:column}.points-summary-grid{grid-template-columns:1fr}}

/* ================= 后台列表式批量管理 ================= */
.admin-list-card{padding:18px}
.admin-filter-bar{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr auto auto;gap:10px;margin-bottom:14px;align-items:center}
.admin-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}
.admin-bulk-toolbar .admin-btn{min-height:32px;padding:7px 10px;border-radius:6px;font-size:12px}
.admin-bulk-toolbar .selected-count{margin-left:auto;white-space:nowrap}
.admin-clear-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.admin-compact-table th,.admin-compact-table td{padding:10px 11px;font-size:13px;vertical-align:middle}
.admin-compact-table th:first-child,.admin-compact-table td:first-child{text-align:center}
.admin-compact-table input[type="checkbox"]{width:16px;height:16px;min-height:auto;padding:0;cursor:pointer}
.compact-muted{margin-top:3px;font-size:12px;line-height:1.45}
.admin-user-bulk-toolbar{align-items:center}
.bulk-small-select{width:130px!important;min-height:32px!important;height:32px;padding:0 9px!important;border-radius:6px!important;font-size:12px!important}
.bulk-note-input{width:150px!important;min-height:32px!important;height:32px;padding:0 9px!important;border-radius:6px!important;font-size:12px!important}
.bulk-points-input{width:110px!important;min-height:32px!important;height:32px;padding:0 9px!important;border-radius:6px!important;font-size:12px!important}
.bulk-check{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:700;color:#374151;white-space:nowrap}
.bulk-check input{width:14px;height:14px;min-height:auto;padding:0}

.bulk-category-select{width:145px!important;min-height:32px!important;height:32px;padding:0 9px!important;border-radius:6px!important;font-size:12px!important}
.hot-add-form{grid-template-columns:minmax(260px,1fr) auto!important}
.category-admin-layout{align-items:start}
.admin-inline-create{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.admin-check-label{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:800;color:#374151}
.latest-section-head{margin-top:28px}
@media(max-width:1100px){.admin-filter-bar{grid-template-columns:1fr 1fr}.admin-bulk-toolbar .selected-count{margin-left:0}.bulk-note-input{width:140px!important}}
@media(max-width:640px){.admin-filter-bar{grid-template-columns:1fr}.admin-bulk-toolbar{align-items:stretch}.admin-bulk-toolbar .admin-btn,.admin-bulk-toolbar select,.admin-bulk-toolbar input{width:100%!important}.bulk-check{width:100%}.table-wrap{overflow-x:auto}.admin-compact-table{min-width:900px}}

    

/* ================= 后台列表/表单最终调整版 ================= */
body:has(.admin-shell) .page{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body:has(.admin-shell) .admin-main,body:has(.admin-shell) .admin-shell > main{margin-left:210px!important;padding:76px 24px 70px!important;min-width:0!important;width:calc(100% - 210px)!important}
body:has(.admin-shell) .admin-main > *,body:has(.admin-shell) .admin-shell > main > *{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
.admin-list-card,.admin-product-form{width:100%!important;max-width:none!important}
.admin-product-form .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px 18px!important}
.admin-product-form .form-row-title{grid-column:1 / -1!important}
.admin-product-form input[name="title"]{height:44px!important;font-size:15px!important;max-width:none!important;width:100%!important}
.admin-product-form input,.admin-product-form textarea,.admin-product-form select{max-width:none!important}
.admin-filter-bar{grid-template-columns:minmax(260px,1.5fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(130px,.7fr) auto auto!important;width:100%!important}
.admin-bulk-toolbar{position:sticky;top:58px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:12px;box-shadow:0 6px 16px rgba(15,23,42,.045)}
.admin-compact-table{min-width:980px}
.admin-compact-table input[type="checkbox"],.js-check-all,.js-row-check{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;cursor:pointer}
@media(max-width:900px){body:has(.admin-shell) .admin-main,body:has(.admin-shell) .admin-shell > main{margin-left:0!important;width:100%!important;padding:76px 14px 46px!important}.admin-product-form .form-grid{grid-template-columns:1fr!important}.admin-filter-bar{grid-template-columns:1fr!important}.admin-bulk-toolbar{top:58px}}

    

        /* ================= 分类页改版（小英雄区 + 筛选条 + 小搜索） ================= */
        .category-hero{width:100vw;margin:-26px calc(50% - 50vw) 0!important;min-height:168px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(15,23,42,.74),rgba(15,23,42,.82)),url('/storage/product-images/hero-bg.jpg') center center/cover no-repeat!important;border-bottom:0}
        .category-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(120deg,rgba(255,255,255,.055) 0 1px,transparent 1px),linear-gradient(30deg,rgba(255,255,255,.035) 0 1px,transparent 1px);background-size:48px 48px;opacity:.78;pointer-events:none}
        .category-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,rgba(220,38,38,.12),rgba(220,38,38,.72),rgba(220,38,38,.12))}
        .category-hero-inner{position:relative;z-index:1;width:100%;max-width:880px;padding:34px 20px 36px;text-align:center;color:#fff}
        .category-hero-kicker{display:none!important}
        .category-hero h1{margin:0;color:#fff;font-size:32px;line-height:1.2;font-weight:900;letter-spacing:-.4px;text-shadow:0 2px 16px rgba(0,0,0,.22)}
        .category-hero p{margin:10px auto 0;max-width:720px;color:#e5e7eb;font-size:14px;line-height:1.8}
        .category-toolbar-wrap{margin:0 -24px 24px;background:#fff;border-bottom:1px solid var(--line)}
        .category-toolbar{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
        .category-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
        .category-tab{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:36px;padding:0 16px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;font-size:13px;font-weight:800;transition:.16s ease}
        .category-tab:hover{border-color:#9ca3af;background:#f9fafb;color:#111827}
        .category-tab.active{background:#111827;color:#fff!important;border-color:#111827}
        .category-search-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:min(420px,100%)}
        .category-search-form input{flex:1 1 220px;min-width:180px;height:36px;min-height:36px;padding:0 14px;border-radius:999px}
        .category-search-form button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:13px;font-weight:800}
        .category-search-form button:hover{background:var(--red)}
        .category-search-clear{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:999px;background:#f3f4f6;color:#374151!important;font-size:13px;font-weight:800}
        .category-search-clear:hover{background:#e5e7eb;color:#111827!important}
        .category-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
        .category-result-head h2{margin:0;color:#111827;font-size:22px;line-height:1.25;font-weight:900}
        .category-result-head p{margin:7px 0 0;color:#6b7280;font-size:13px;line-height:1.7}
        .category-shop-section{padding-top:0}
        @media(max-width:900px){.category-hero{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;margin-top:-18px!important;min-height:150px}.category-hero-inner{padding:28px 16px 30px}.category-hero h1{font-size:26px}.category-toolbar-wrap{margin-left:-14px;margin-right:-14px}.category-toolbar{padding:12px 14px}.category-tabs{width:100%}.category-search-form{width:100%;justify-content:flex-start}.category-result-head{flex-direction:column;align-items:flex-start}}
        @media(max-width:560px){.category-tab{min-width:auto;padding:0 14px}.category-search-form{display:grid;grid-template-columns:1fr auto auto;width:100%}.category-search-form input{min-width:0;width:100%}.category-search-form button,.category-search-clear{padding:0 12px;height:36px}.category-hero p{font-size:13px;line-height:1.7}}

        .product-badge-checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.product-badge-check{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:8px 11px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;font-size:13px;font-weight:900;cursor:pointer}.product-badge-check input{margin:0!important}.product-badge-check span{line-height:1}.product-badge-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.product-badge-list span{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:11px;font-weight:900}.product-badge-list-detail{margin:10px 0 0}.duplicate-buy-notice{width:100%;padding:10px 12px;border-radius:8px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-size:13px;font-weight:900}.nested-setting-card{margin-top:18px;background:#f9fafb!important}.home-category-grid{margin-bottom:28px}

/* ================= 商品卡片 / 详情页精修 ================= */
.resource-card-meta-only{justify-content:flex-start;margin-bottom:7px}.product-badge-list-card{margin-top:7px}.resource-card h3,.shop-product-body h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px}.shop-product-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px}.shop-product-foot .muted{font-size:12px;color:#94a3b8}
.source-detail-cover{min-height:100%;position:relative}.source-detail-cover img{height:100%;min-height:360px}.source-detail-cover-empty{height:100%;min-height:360px}.source-detail-update{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:0 10px 26px rgba(15,23,42,.10)}
.product-list-disclaimer{margin-top:24px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px;line-height:1.85}.product-list-disclaimer strong{color:#334155;font-weight:900}
@media(max-width:560px){.resource-grid,.shop-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.resource-card-img,.shop-product-img{height:118px!important;min-height:118px!important}.resource-card-body,.shop-product-body{padding:9px 9px 10px}.resource-card h3,.shop-product-body h3{font-size:13px;line-height:1.42;min-height:37px}.resource-card p,.shop-product-body p{font-size:11px;line-height:1.5;min-height:34px}.resource-card-foot,.shop-product-foot{margin-top:8px;padding-top:8px;gap:6px}.resource-card-foot a,.shop-small-btn{height:24px;padding:0 7px;font-size:11px}.shop-product-foot .muted{font-size:11px}.product-badge-list span{font-size:10px;padding:3px 6px}}
@media(max-width:760px){.source-detail-cover img,.source-detail-cover-empty{height:220px!important;min-height:220px!important}.source-detail-update{position:static;box-shadow:none;background:#f8fafc;backdrop-filter:none}}

/* 商品详情页图片恢复比例显示：不拉伸，容器内上下居中 */
.source-detail-cover{min-height:auto!important;position:static!important;justify-content:center!important}
.source-detail-cover img{width:100%!important;height:auto!important;min-height:0!important;max-height:330px!important;object-fit:contain!important;background:#f8fafc!important}
.source-detail-cover-empty{height:260px!important;min-height:0!important}
.source-detail-update{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;background:#f8fafc!important;box-shadow:none!important;backdrop-filter:none!important}
.product-detail-disclaimer{border-color:#e5e7eb;background:#fff}.product-detail-disclaimer .source-content-text{color:#64748b;font-size:13px;line-height:1.85}
.admin-download-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:760px){.source-detail-cover img,.source-detail-cover-empty{height:220px!important;max-height:220px!important}.admin-download-protection-grid{grid-template-columns:1fr}}


/* ================= 后台支付订单筛选 / 通用简洁分页 ================= */
.admin-filter-inline{display:grid!important;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.75fr) minmax(150px,.75fr) auto auto!important;gap:10px!important;align-items:center!important;padding:16px!important;margin-bottom:18px!important;overflow:visible!important}
.admin-filter-inline input,.admin-filter-inline select{height:40px!important;min-height:40px!important;margin:0!important}
.admin-filter-inline .admin-btn{height:40px!important;min-height:40px!important;padding:0 16px!important;margin:0!important}
.pagination-compact{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:18px;flex-wrap:wrap}
.pagination-compact .page-number,.pagination-compact .page-control,.pagination-compact .page-dots{min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:800;line-height:1;text-decoration:none;box-shadow:0 4px 10px rgba(15,23,42,.025)}
.pagination-compact .page-number:hover,.pagination-compact .page-control:hover{border-color:#9ca3af;background:#f9fafb;color:#111827;text-decoration:none}
.pagination-compact .page-number.active{background:#1f2937;border-color:#1f2937;color:#fff!important;box-shadow:0 8px 18px rgba(31,41,55,.18)}
.pagination-compact .page-control{font-size:20px;font-weight:900;padding-bottom:2px}
.pagination-compact .page-control.disabled{opacity:.35;cursor:not-allowed;background:#f9fafb;color:#9ca3af}
.pagination-compact .page-dots{border-color:transparent;background:transparent;box-shadow:none;color:#9ca3af;min-width:24px;padding:0 4px}
@media(max-width:900px){.admin-filter-inline{grid-template-columns:1fr 1fr!important}.admin-filter-inline input{grid-column:1 / -1}.pagination-compact{justify-content:center}}
@media(max-width:560px){.admin-filter-inline{grid-template-columns:1fr!important}.admin-filter-inline .admin-btn{width:100%!important}.pagination-compact{gap:5px}.pagination-compact .page-number,.pagination-compact .page-control{min-width:32px;height:32px;border-radius:7px}}

.pagination-compact{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-wrap:nowrap!important;width:100%}
.pagination-compact .page-number,.pagination-compact .page-control,.pagination-compact .page-dots{display:inline-flex!important;flex:0 0 auto!important;margin:0!important}
@media(max-width:560px){.pagination-compact{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important}}
