*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#eef7ff;background:#07111f;background-image:linear-gradient(rgba(60,191,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(60,191,255,.075) 1px,transparent 1px),radial-gradient(circle at 82% 14%,rgba(124,92,255,.25),transparent 34%),radial-gradient(circle at 8% 18%,rgba(31,182,255,.20),transparent 32%);background-size:44px 44px,44px 44px,100% 100%,100% 100%;display:grid;grid-template-columns:210px 1fr}a{color:#81e8ff;text-decoration:none}.side{position:sticky;top:0;height:100vh;padding:18px 12px;background:rgba(6,14,26,.88);border-right:1px solid rgba(95,213,255,.18);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 4px 24px}.brand strong{font-size:21px;line-height:1.15}.brand span{color:#55f1ff;font-weight:1000}nav{display:grid;gap:7px}nav a{display:flex;align-items:center;justify-content:center;border:1px solid rgba(125,213,255,.13);background:rgba(255,255,255,.04);color:#c7d7e8;border-radius:13px;padding:12px 10px;font-weight:900}nav a:hover{background:rgba(31,182,255,.16);color:#fff}.danger{background:rgba(255,77,109,.14)!important;color:#ff9aac!important}.main{min-width:0;padding:0 24px 56px}.top{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(95,213,255,.16);margin-bottom:18px}.top p,.eyebrow{margin:0 0 6px;color:#93f4ff;font-size:12px;font-weight:1000;letter-spacing:2px}.top h1{margin:0;font-size:30px}.pill{display:inline-flex;align-items:center;border:1px solid rgba(255,94,168,.35);background:rgba(255,94,168,.15);border-radius:999px;padding:8px 12px;color:#ffb6d5;font-weight:1000;white-space:nowrap}.card{background:rgba(12,23,39,.86);border:1px solid rgba(125,213,255,.18);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 18px 50px rgba(0,0,0,.28)}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:stretch}.hero h2{margin:4px 0 12px;font-size:38px;line-height:1.1}.hero p{color:#b5c8dc;line-height:1.65}.stat-grid,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat b,.grid b{display:block;font-size:34px;margin-top:10px}.stat span,.grid span,.muted{color:#91a7bd}.flash{border-radius:14px;padding:13px 15px;margin-bottom:14px;border:1px solid rgba(255,255,255,.1)}.flash.ok{background:rgba(34,197,94,.16);color:#86efac}.flash.err{background:rgba(255,82,82,.16);color:#ffaaa9}input,select,textarea{width:100%;border:1px solid rgba(125,213,255,.22);background:rgba(3,10,20,.68);color:#eef7ff;border-radius:13px;padding:12px 13px;font:inherit;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#31d3ff;box-shadow:0 0 0 3px rgba(49,211,255,.12)}label{display:block;margin:10px 0 6px;font-weight:1000}.btn,button{border:0;border-radius:13px;background:linear-gradient(135deg,#1fb6ff,#7c5cff);color:#fff;padding:12px 17px;font-weight:1000;cursor:pointer;box-shadow:0 12px 30px rgba(31,182,255,.18)}button.green,.btn.green{background:linear-gradient(135deg,#22c55e,#19c8a7)}button.red,.btn.red{background:linear-gradient(135deg,#ff4d6d,#ff6a3d)}button.gray,.btn.gray{background:rgba(255,255,255,.1);color:#dcecff;border:1px solid rgba(255,255,255,.12)}button[disabled]{opacity:.72;cursor:wait}.is-loading{position:relative;overflow:hidden}.is-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shine 1.1s linear infinite}@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline input{min-width:130px;flex:1}.inline button{width:auto}.table-wrap{overflow:auto}.table,table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid rgba(255,255,255,.08);padding:13px;text-align:left;vertical-align:top}th{color:#9bf3ff}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app{display:flex;flex-direction:column}.app img{width:100%;height:190px;object-fit:contain;background:rgba(255,255,255,.05);border-radius:15px}.app h3{margin:12px 0 5px}.app b{color:#ff6e6e;word-break:break-all}.app p{color:#b5c8dc;line-height:1.55;min-height:42px}.app form{display:grid;gap:10px;margin-top:auto}.auth-page{display:block;min-height:100vh}.auth-wrap{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:28px 16px;display:grid;grid-template-columns:1fr 430px;gap:24px;align-items:center}.auth-brand{padding:18px}.auth-brand h1{font-size:46px;line-height:1.08;margin:12px 0}.auth-brand p{color:#b5c8dc;line-height:1.75}.auth-features{display:grid;gap:12px;margin-top:24px}.auth-feature{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(125,213,255,.17);background:rgba(255,255,255,.04);border-radius:16px;padding:16px}.auth-feature b{font-size:18px}.auth-feature span{background:linear-gradient(135deg,#ff5e7e,#7c5cff);border-radius:14px;padding:10px 12px;font-weight:1000}.login{display:grid;gap:13px}.login h1{font-size:34px;margin:0}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.admin-quick{display:flex;gap:10px;flex-wrap:wrap}.admin-quick a{border:1px solid rgba(125,213,255,.18);background:rgba(31,182,255,.12);border-radius:999px;padding:9px 14px;font-weight:1000}.section{padding:0;overflow:hidden}.section summary{list-style:none;cursor:pointer;padding:17px 18px;display:flex;justify-content:space-between;gap:12px;font-weight:1000}.section summary::-webkit-details-marker{display:none}.section summary:after{content:"展开";color:#93f4ff}.section[open] summary{border-bottom:1px solid rgba(255,255,255,.08)}.section[open] summary:after{content:"收起"}.section-body{padding:16px}.user-card{display:grid;grid-template-columns:1fr 110px 1.5fr;gap:12px;align-items:center;border:1px solid rgba(125,213,255,.14);background:rgba(255,255,255,.035);border-radius:15px;padding:13px;margin-bottom:10px}.user-card strong{font-size:17px}.copy-row{display:grid;grid-template-columns:1fr auto;gap:8px}.copy-row input{font-size:12px}.mobile-only{display:none}
@media(max-width:900px){body{display:block;padding-bottom:92px}.side{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:50;padding:7px;background:rgba(6,14,26,.96);border-top:1px solid rgba(95,213,255,.18);border-right:0}.brand{display:none}nav{grid-template-columns:repeat(3,1fr);gap:7px}nav a{padding:10px 6px;font-size:13px}.main{padding:0 10px 110px}.top{min-height:66px;align-items:flex-start;padding-top:14px}.top h1{font-size:24px}.pill{font-size:12px;padding:7px 10px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.hero,.stat-grid,.grid,.form-grid,.app-grid{grid-template-columns:1fr}.hero h2{font-size:30px}.card{padding:14px;border-radius:15px}.table,table{font-size:12px}.auth-wrap{grid-template-columns:1fr;align-items:start;min-height:auto;padding:22px 10px}.auth-brand{padding:4px}.auth-brand h1{font-size:34px}.login h1{font-size:30px}.user-card{grid-template-columns:1fr}.inline{display:grid;grid-template-columns:1fr 1fr}.inline input{min-width:0}.inline button{width:100%}.desktop-only{display:none}.mobile-only{display:block}}
.pill.ok{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.15);color:#86efac}
