:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252c29;background:#f4f5ef;font-size:16px}*{box-sizing:border-box}body{margin:0}.shell{max-width:1150px;margin:auto;padding:0 38px}header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce1d9}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:16px}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#77867a;margin-top:4px}.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#245544;color:#fff;font-size:25px}main{min-height:calc(100vh - 164px)}.login{max-width:510px;margin:9vh auto 10vh}.eyebrow{letter-spacing:.18em;font-size:11px;font-weight:750;color:#668777}h1{font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-.05em;margin:19px 0;color:#182d25}h1 em{font-style:normal;color:#568270}.lead,.intro p{color:#758078;line-height:1.8}.login form{margin-top:38px;background:white;border:1px solid #e2e8df;border-radius:20px;padding:28px;box-shadow:0 14px 38px #274c3510}label{font-size:13px;font-weight:650;display:block;margin-bottom:18px}input{display:block;width:100%;margin-top:8px;border:1px solid #d9e0d9;border-radius:10px;padding:13px;font:inherit;outline:none}input:focus{border-color:#558975;box-shadow:0 0 0 3px #dcece3}button,a{font:inherit;cursor:pointer}button{border:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 16px;text-decoration:none;font-size:13px;font-weight:700}.primary{background:#245544;color:white}.primary:hover{background:#183e30}.login .primary{width:100%;justify-content:space-between;margin-top:3px}.secondary{background:#f2f5f0;color:#37574a;border:1px solid #dce5dd}.secondary:hover{background:#e6eee7}.quiet,.link{background:transparent;color:#527363;font-size:13px}.lock{color:#8e9a91;font-size:12px;margin-top:22px;text-align:center}.intro{padding:66px 0 30px}.intro h1{font-size:clamp(34px,4vw,52px)}.dot{color:#6e9f81}.status{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#e8f0e8;padding:18px 22px;border-radius:14px;color:#295543;font-size:13px}.status p{margin:0;color:#6b8072}.status-dot{display:inline-block;background:#5b9b71;width:8px;height:8px;border-radius:50%;margin-right:10px}.tag{font-size:10px;color:#628272;border:1px solid #bdcfc1;padding:4px 8px;border-radius:20px;margin-left:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.card{background:white;border:1px solid #e1e7df;border-radius:18px;padding:27px;min-height:300px}.card-head{display:flex;justify-content:space-between;align-items:center}.icon{height:48px;width:48px;border-radius:14px;background:#e9f1e9;color:#43705a;display:grid;place-items:center;font-size:24px}.phone{background:#f4ede1;color:#a17a44}.device{color:#9aa69b;font-size:10px;font-weight:700;letter-spacing:.1em}h2{font-size:22px;margin:24px 0 8px}.card p,.security p{font-size:13px;line-height:1.7;color:#7b867e}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 14px}.link{padding:4px 0}.hint{font-size:12px!important}.qr{background:#fff;padding:15px;border:1px solid #e7eae4;border-radius:12px;display:inline-block;margin-top:12px}.qr img{display:block;width:200px;height:200px;image-rendering:pixelated}.security{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 50px;padding:20px 22px;background:#fffaf0;border:1px solid #ede3d0;border-radius:14px}.security strong{font-size:14px}.security p{margin:6px 0 0}.danger{white-space:nowrap;background:#fff}.error{font-size:13px;color:#b24a3d;min-height:1em}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#173c2c;color:#fff;padding:12px 20px;border-radius:10px;font-size:13px}footer{height:68px;border-top:1px solid #dce1d9;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;color:#9aa59b}.hidden{display:none!important}@media(max-width:700px){.shell{padding:0 20px}header{height:76px}.intro{padding-top:46px}.grid{grid-template-columns:1fr}.status,.security{align-items:flex-start;flex-direction:column}.card{min-height:0}.login{margin-top:9vh}footer span{display:none}}

/* ---- 新增：订阅中心 / 节点列表 ---- */
.card.wide{margin-top:22px;min-height:0}
.subbox{display:flex;align-items:center;gap:10px;margin-top:16px;background:#f4f6f2;border:1px solid #e0e7de;border-radius:12px;padding:10px 12px}
.subbox code{flex:1;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;color:#33473c}
.node-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.node-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e1e7df;border-radius:12px;padding:13px 18px;font-size:14px}
.node-row .tag{margin-left:0;font-size:10px}
.node-row .mono{margin-left:auto;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#6b7f72}
#node-qr-slot{margin-top:8px}
