*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:#fff;background:#17184a}.bg{min-height:100vh;padding:40px 16px;background:radial-gradient(circle at 50% 0,#343187,#161747 60%)}.wrap{max-width:1080px;margin:auto}.card{background:rgba(31,31,88,.9);border:1px solid rgba(160,150,255,.25);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:36px}.small{max-width:520px;margin:40px auto}.wide{max-width:1100px}.center{text-align:center}h1{margin:0 0 24px;font-size:30px}h2{margin-top:28px;color:#d9d7ff}.muted{color:#aaa7dd}input{width:100%;padding:15px 16px;margin:8px 0 14px;border:1px solid #4b4a8d;border-radius:12px;background:#252665;color:#fff;font-size:16px}button{width:100%;padding:14px;border:0;border-radius:12px;background:linear-gradient(135deg,#8d75ff,#5b7cff);color:#fff;font-size:17px;font-weight:700;cursor:pointer}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{padding:10px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}code{color:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.qr{width:280px;height:280px;margin:20px auto;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#333}.qr img{width:260px;height:260px}.steps{display:flex;justify-content:space-around;margin-bottom:28px;color:#9693d0}.steps span{position:relative}.steps .on{color:#fff;font-weight:700}.loader{width:52px;height:52px;margin:28px auto;border:5px solid #5754a8;border-top-color:#a98cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.box{border:1px solid rgba(160,150,255,.25);border-radius:16px;padding:24px}.box label{display:block;color:#aaa7dd;margin-bottom:12px}.box b{font-size:22px;word-break:break-all}.result{max-width:720px;margin:20px auto}.details{display:grid;grid-template-columns:160px 1fr;gap:14px 24px;font-size:20px}.details span{color:#aaa7dd}.details b{color:#fff}@media(max-width:700px){.grid2,.topgrid{grid-template-columns:1fr}.details{grid-template-columns:120px 1fr;font-size:16px}.card{padding:24px}}

.nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.nav a,.btn{display:inline-block;padding:10px 14px;border-radius:10px;background:#32337a;color:#fff;text-decoration:none}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.chips span{padding:8px 12px;border-radius:999px;background:#292a68;color:#d9d7ff}.filters{display:grid;grid-template-columns:150px 150px 1fr 1fr 120px 160px;gap:10px;align-items:center}.filters input,.filters select,.bulk select{width:100%;padding:12px;border:1px solid #4b4a8d;border-radius:12px;background:#252665;color:#fff}.filters button,.bulk button{padding:12px;font-size:15px}.bulk{display:grid;grid-template-columns:160px 160px 1fr;gap:10px;align-items:center;margin:14px 0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#555;color:#fff;font-size:13px}.badge.unused{background:#2e7d32}.badge.locked,.badge.login,.badge.confirm,.badge.processing{background:#ef6c00}.badge.used,.badge.success{background:#1565c0}.badge.failed{background:#c62828}.badge.disabled,.badge.cancelled{background:#616161}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.actions form{min-width:180px}.danger{background:linear-gradient(135deg,#d33,#a11)!important}.smalltext{font-size:16px}.pager{margin-top:18px;color:#d9d7ff}.pager a{margin-left:14px;color:#fff}td{vertical-align:top;word-break:break-all}select{font-size:15px}@media(max-width:900px){.filters{grid-template-columns:1fr}.bulk{grid-template-columns:1fr}.nav{gap:8px}}

.hint{background:rgba(255,255,255,.08);border:1px solid rgba(160,150,255,.22);border-radius:12px;padding:12px 14px;color:#d9d7ff;line-height:1.7}

.ops{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ops form{display:inline;margin:0}.linkbtn{background:none!important;border:0!important;padding:0!important;width:auto!important;color:#ff8080!important;font-size:14px;font-weight:700;cursor:pointer}.danger-text{color:#ff8080!important}.secondary{background:transparent!important;border:2px solid #6056b8!important}.agree{display:flex;gap:10px;align-items:center;margin:8px 0 18px;color:#aaa7dd}.check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#15c8ff;color:#fff;font-weight:900}.copybox{border:1px solid rgba(160,150,255,.25);border-radius:16px;padding:18px;margin:12px 0 24px;background:rgba(255,255,255,.06)}.copybox label{display:block;color:#d9d7ff;margin:8px 0 4px}.copybox button{margin-bottom:10px}
/* 后台左侧竖排导航 */
.card.wide{position:relative;padding-left:170px}.nav{position:absolute;left:28px;top:36px;width:120px;display:flex;flex-direction:column;gap:12px;margin:0}.nav a{text-align:center}.card.wide h1{margin-top:0}.copyrow{display:grid;grid-template-columns:1fr 160px;gap:10px;align-items:center}.copyrow input{margin:0}.copyrow button{margin:0}.inline-link{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mini-copy{width:auto!important;padding:6px 12px!important;font-size:13px!important;border-radius:8px!important;background:#4e62ff!important}.copybox .copyrow{margin-bottom:12px}@media(max-width:900px){.card.wide{padding-left:24px}.nav{position:static;width:auto;flex-direction:row;flex-wrap:wrap;margin-bottom:22px}.copyrow{grid-template-columns:1fr}}
.importbar{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center;margin-bottom:22px}.importbar input{margin:0}.importbar button{margin:0}.filters.deep{grid-template-columns:135px 150px 120px 150px 1fr 110px 160px}.deepbulk{grid-template-columns:170px 1fr 150px 130px 1fr}.deepbulk input{margin:0}@media(max-width:1000px){.filters.deep,.deepbulk,.importbar{grid-template-columns:1fr}}
.single-panel{max-width:620px;margin-bottom:34px}.create-form{display:grid;grid-template-columns:1fr;gap:10px}.create-form input{margin:0}.create-form button{margin-top:4px}
.product-panel{max-width:720px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 18px}.product-card{height:auto;text-align:left;padding:18px!important;background:#252665!important;border:1px solid #4b4a8d!important;border-radius:14px!important}.product-card b{display:block;font-size:20px;margin-bottom:8px}.product-card span{color:#aaa7dd}.product-card.active{border-color:#20c8ff!important;box-shadow:0 0 0 2px rgba(32,200,255,.25);background:#30317a!important}.form-label{display:block;color:#d9d7ff;margin:8px 0}.qtybox{display:grid;grid-template-columns:54px 1fr 54px;gap:10px;align-items:center}.qtybox input{margin:0;text-align:center}.qtybox button{margin:0;padding:13px!important;font-size:24px!important}@media(max-width:700px){.product-grid{grid-template-columns:1fr}}
/* 商品选择更明显 */
.product-card{position:relative;transition:.18s transform,.18s box-shadow,.18s border-color}.product-card em{display:none;position:absolute;right:12px;top:10px;font-style:normal;font-size:13px;padding:4px 8px;border-radius:999px;background:#18c8ff;color:#07133a;font-weight:900}.product-card.active{border-color:#18c8ff!important;box-shadow:0 0 0 3px rgba(24,200,255,.32),0 14px 30px rgba(24,200,255,.18)!important;background:linear-gradient(135deg,#263382,#3143a8)!important;transform:translateY(-2px)}.product-card.active em{display:inline-block}.product-card.active b{color:#fff}.product-card.active span{color:#dff7ff}.product-card:not(.active){opacity:.72}.product-card:not(.active):hover{opacity:1;border-color:#8d75ff!important}
