:root{--bg:#060a13;--bg-soft:#0b1220;--panel:#0f172ab8;--panel-solid:#0f172a;--border:#94a3b824;--border-strong:#94a3b842;--text:#e6edf7;--muted:#93a4bd;--primary:#6366f1;--primary-2:#22d3ee;--success:#34d399;--warn:#fbbf24;--danger:#f87171;--radius:16px;--shadow:0 20px 50px #0206178c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(1000px 600px at 12% -10%,#6366f138,#0000 60%),radial-gradient(900px 500px at 92% 0,#22d3ee24,#0000 55%),linear-gradient(#070c17 0%,#060a13 45%,#05080f 100%);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 18px}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#060a13b8;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;height:62px;display:flex}.brand{letter-spacing:.4px;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#04101a;border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:grid}.nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:10px;padding:8px 12px;font-size:14px;transition:all .18s}.nav a:hover{color:var(--text);background:#94a3b81a}.section{padding:28px 0}.hero{padding:54px 0 34px}.hero-title{letter-spacing:-.5px;margin:0 0 14px;font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.2}.hero-title span{background:linear-gradient(120deg,#a5b4fc,#22d3ee 65%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--muted);max-width:620px;margin:0 0 22px;font-size:15.5px}.chip-row{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);background:#0f172a99;border-radius:999px;padding:7px 13px;font-size:13px}.chip strong{color:var(--text)}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 16px;display:flex}.section-head h2{margin:0;font-size:20px}.section-head p{color:var(--muted);margin:0;font-size:13.5px}.notice{color:#fde68a;background:#fbbf2414;border:1px solid #fbbf2447;border-radius:12px;margin-bottom:22px;padding:12px 16px;font-size:13.5px}.grid-products{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.product-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);flex-direction:column;gap:12px;padding:20px;transition:all .22s;display:flex;position:relative;overflow:hidden}.product-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(140deg,#6366f11f,#0000 45%);transition:all .22s;position:absolute;inset:0}.product-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.product-card:hover:after{opacity:1}.product-card h3{margin:0;font-size:17px}.product-card .summary{color:var(--muted);min-height:40px;margin:0;font-size:13.5px}.price-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.price{color:#7dd3fc;letter-spacing:-.5px;font-size:26px;font-weight:800}.price:before{content:"¥";color:var(--muted);margin-right:2px;font-size:15px;font-weight:600}.price-old{color:var(--muted);font-size:13px;text-decoration:line-through}.meta-row{color:var(--muted);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.stock-ok{color:var(--success)}.stock-low{color:var(--warn)}.stock-none{color:var(--danger)}.btn{cursor:pointer;color:var(--text);background:#94a3b81f;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14.5px;font-weight:600;line-height:1.4;transition:all .18s;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(120deg, var(--primary), #4f46e5 55%, var(--primary-2));color:#04101a;box-shadow:0 10px 26px #4f46e559}.btn-ghost{border-color:var(--border-strong);color:var(--text);background:0 0}.btn-danger{color:#fecaca;background:#f8717124;border-color:#f8717159}.btn-block{width:100%}.btn-sm{border-radius:9px;padding:6px 12px;font-size:13px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.field>label{color:var(--muted);font-size:13px}.input,.textarea,.select{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#0206178c;border-radius:11px;outline:none;padding:11px 13px;font-family:inherit;font-size:14.5px;transition:all .18s}.input:focus,.textarea:focus,.select:focus{border-color:#6366f1bf;box-shadow:0 0 0 3px #6366f129}.textarea{resize:vertical;min-height:120px;line-height:1.5}.select option{color:var(--text);background:#0f172a}.field-hint{color:var(--muted);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.panel{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:22px}.panel-title{margin:0 0 16px;font-size:16px}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px}th{color:var(--muted);background:#94a3b80f;font-size:12.5px;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#94a3b80a}.badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}.badge-success{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}.badge-warn{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}.badge-info{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf84d}.badge-muted{color:var(--muted);background:#94a3b81f;border-color:#94a3b840}.pay-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.pay-option{border:1px solid var(--border-strong);cursor:pointer;background:#02061766;border-radius:11px;align-items:center;gap:9px;padding:11px 13px;font-size:14px;transition:all .16s;display:flex}.pay-option.active{background:#6366f11f;border-color:#6366f1e6}.pay-option input{accent-color:var(--primary)}.card-code-list{flex-direction:column;gap:8px;display:flex}.card-code{word-break:break-all;background:#02061799;border:1px dashed #34d39959;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13.5px;display:flex}.card-code span{color:#a7f3d0}.alert{border:1px solid var(--border);color:var(--muted);background:#94a3b814;border-radius:12px;margin-bottom:16px;padding:12px 15px;font-size:13.5px}.alert-success{color:#a7f3d0;background:#34d3991a;border-color:#34d39959}.alert-danger{color:#fecaca;background:#f871711a;border-color:#f8717159}.alert-info{color:#bae6fd;background:#38bdf814;border-color:#38bdf84d}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:46px 20px;font-size:14px}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:46px;padding:26px 0 34px;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;display:flex}.order-grid{grid-template-columns:1.4fr .9fr;align-items:start;gap:16px;display:grid}.kv{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.kv:last-child{border-bottom:none}.kv span:first-child{color:var(--muted);flex-shrink:0}.admin-shell{grid-template-columns:216px 1fr;min-height:100vh;display:grid}.admin-side{border-right:1px solid var(--border);background:#080d18e6;height:100vh;padding:20px 14px;position:sticky;top:0;overflow-y:auto}.admin-side .brand{padding:0 8px 18px}.admin-nav{flex-direction:column;gap:4px;display:flex}.admin-nav a{color:var(--muted);border-radius:10px;padding:9px 12px;font-size:14px}.admin-nav a:hover{color:var(--text);background:#94a3b81a}.admin-main{max-width:1180px;padding:26px 30px 60px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.admin-head h1{margin:0;font-size:22px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:16px 18px}.stat-card .label{color:var(--muted);font-size:12.5px}.stat-card .value{margin-top:6px;font-size:24px;font-weight:800}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.auth-wrap{place-items:center;min-height:calc(100vh - 62px);padding:40px 18px;display:grid}.auth-card{border:1px solid var(--border);background:var(--panel);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:18px;padding:28px 26px}.auth-card h1{margin:0 0 6px;font-size:22px}.auth-card .sub{color:var(--muted);margin:0 0 22px;font-size:13.5px}.auth-foot{color:var(--muted);text-align:center;margin-top:16px;font-size:13px}.auth-foot a{color:#a5b4fc}.pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.pagination a,.pagination span{border:1px solid var(--border);color:var(--muted);border-radius:9px;padding:6px 12px;font-size:13px}.pagination .active{color:var(--text);background:#6366f133;border-color:#6366f180}.steps{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.step{border:1px solid var(--border);min-width:120px;color:var(--muted);background:#0f172a73;border-radius:12px;flex:1;padding:12px 14px;font-size:13px}.step strong{color:var(--text);margin-bottom:2px;display:block}@media (max-width:860px){.order-grid,.form-grid,.admin-shell{grid-template-columns:1fr}.admin-side{border-right:none;border-bottom:1px solid var(--border);height:auto;padding:14px;position:static}.admin-side .brand{padding:0 4px 12px}.admin-nav{flex-direction:row;gap:6px;padding-bottom:4px;overflow-x:auto}.admin-nav a{white-space:nowrap}.admin-main{padding:20px 16px 50px}}@media (max-width:560px){.hero{padding:36px 0 24px}.header-inner{flex-wrap:wrap;height:auto;padding:10px 0}.nav a{padding:6px 9px;font-size:13px}.panel{padding:16px}.price{font-size:23px}}
