:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#202329;background:#f5f6f8;font-size:15px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:248px;position:fixed;inset:0 auto 0 0;padding:42px 28px;background:#eeeff2;border-right:1px solid #e5e6e9}aside img{width:62px;border-radius:16px}aside h2{letter-spacing:-1px;font-size:25px;margin-bottom:8px}aside p{font-size:13px}nav{display:grid;gap:10px;margin-top:48px}nav a{padding:13px 16px;text-decoration:none;color:#404957;border-radius:12px}nav a:hover{background:#e2e9f6;color:#1654b8}.local{position:absolute;bottom:32px;color:#68717f;font-size:12px;line-height:1.9}main{margin-left:248px;padding:52px 5vw;width:calc(100% - 248px);max-width:1560px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#6a7485;font-weight:700}h1{font-size:32px;font-weight:650;letter-spacing:-1px;margin:14px 0}h2{font-size:21px;font-weight:600;margin:4px 0 12px}p{color:#697384;line-height:1.7;font-size:14px}.card{background:#fff;border:1px solid #e6e8ed;border-radius:20px;padding:28px;margin-bottom:22px;box-shadow:0 5px 18px #142c4403}.login{max-width:500px;margin:55px auto}.tag{font-size:12px;color:#2364c4;background:#edf3ff;padding:6px 10px;border-radius:8px;display:inline-block;margin-bottom:16px}label{display:grid;gap:9px;font-size:13px;color:#475365;margin:12px 0}input{border:1px solid #dce0e7;border-radius:10px;padding:12px 14px;background:#fcfcfd;color:#222;font:inherit;min-width:0;width:100%;outline:none}input:focus{border-color:#1c6ce0;box-shadow:0 0 0 3px #1c6ce014}button{background:#edf0f5;color:#273548;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}button:hover{filter:brightness(.97)}button:disabled{opacity:.55;cursor:wait}button.primary{background:#1266db;color:white}.login button{width:100%;margin-top:14px}.quiet{background:white;border:1px solid #e1e5ec}.stats{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stats span{color:#687384;font-size:13px}.stats h2{font-size:27px;margin-top:16px}.inline{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.inline label{flex:1;min-width:160px}.inline button{margin-bottom:12px}.grow{flex:2!important}.section-title{display:flex;align-items:center;justify-content:space-between}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;min-width:650px;border-collapse:collapse;text-align:left;font-size:13px}th{color:#697384;font-weight:500;background:#fafbfc}td,th{padding:15px 12px;border-bottom:1px solid #eef0f3}td .actions{display:flex;gap:8px;align-items:center}td input{width:75px;padding:9px}td button{font-size:12px;padding:9px 12px}#notice:not(:empty){padding:14px 18px;border:1px solid #d1dff2;background:#eaf2ff;border-radius:12px;margin-bottom:22px;color:#245397}#notice.error{background:#fff0ef;border-color:#f6d4d1;color:#a33229}#new-code{max-width:500px;font-family:monospace}#code-result{padding:12px 18px;background:#f5f8ff;border-radius:12px;margin-top:16px}footer{color:#858d98;font-size:12px;text-align:center;padding:16px}[hidden]{display:none!important}@media(max-width:900px){aside{width:185px;padding:28px 18px}main{margin-left:185px;width:calc(100% - 185px);padding:30px 22px}h1{font-size:25px}.card{padding:20px}}@media(max-width:620px){body{display:block}aside{position:static;width:100%;padding:18px;display:flex;align-items:center;gap:12px}aside img{width:38px}aside h2{font-size:18px;margin:0}aside p,nav,.local{display:none}main{margin:0;width:100%;padding:25px 16px}.stats{grid-template-columns:1fr;gap:0}.inline{display:block}}

select{width:100%;padding:12px;border:1px solid #d9dde5;border-radius:10px;background:#fff;font:inherit;color:#172033}#library td{max-width:360px;overflow-wrap:anywhere}#library .inline{margin-top:14px}

#library .table-wrap{max-height:480px;overflow:auto}#library thead{position:sticky;top:0;background:#f6f7f9;z-index:1}

textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d9dde5;border-radius:10px;font:inherit;resize:vertical;background:#fff;color:#172033}details{margin-top:24px}summary{cursor:pointer;font-weight:600}#group-create label{display:block;margin:14px 0}#cloud-groups>button{margin-top:12px}

/* Touch layout: no sideways page scroll; contact rows become readable cards. */
#notice{overflow-wrap:anywhere}#device-status{font-size:12px;color:#697384}section{scroll-margin-top:24px}#group-ids{min-height:190px;font-family:ui-monospace,Consolas,monospace;line-height:1.7}button:focus-visible,a:focus-visible{outline:3px solid #82b2ff;outline-offset:3px}
@media(max-width:620px){
 body,main{min-width:0}aside{flex-wrap:wrap}aside nav{display:flex;width:100%;margin:4px 0 0;gap:4px;overflow-x:auto}nav a{padding:10px 12px;white-space:nowrap;font-size:13px}
 main{padding:20px 12px}header{gap:12px;align-items:flex-start}h1{font-size:26px;line-height:1.25}.card{padding:18px 14px;border-radius:16px}.login{margin:18px auto}input,textarea,select{font-size:16px}button{min-height:44px;padding:12px 14px}.inline button{margin:4px 4px 8px 0}.section-title{gap:10px}.section-title h2{font-size:20px}.section-title button{flex-shrink:0}
 #library table{min-width:0;display:block}#library thead{display:none}#library tbody{display:grid;gap:12px}#library tr{display:block;border:1px solid #e5e8ee;border-radius:12px;padding:8px}#library td{display:block;border:0;padding:6px;max-width:none;overflow-wrap:anywhere}#library td::before{content:attr(data-label);display:block;font-size:11px;color:#7b8493;margin-bottom:3px}#library td:last-child{text-align:right}#library td:last-child::before{display:none}#library .table-wrap{max-height:600px;margin-top:12px}#take-50,#take-100{width:100%;margin:4px 0}#notice{top:0;font-size:13px}.stats h2{font-size:24px}#group-ids{font-size:16px}footer{line-height:1.7}
}
