:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#183332;background:#f3f6f5;font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{display:flex;align-items:center;gap:20px;min-height:76px;padding:18px 5vw;background:#173936;color:white}.brand{font-size:21px;font-weight:700;margin-right:auto}.brand span{font-size:13px;font-weight:400;display:inline-block;margin-left:16px;color:#b9d8d2}main{max-width:1260px;margin:44px auto;padding:0 24px}h1{font-size:28px;font-weight:650;margin:10px 0 12px}h2{font-size:17px;margin:0}.eyebrow{color:#268373;font-size:12px;letter-spacing:2px;font-weight:700}.muted{color:#6f8580;line-height:1.8}.card{background:#fff;border:1px solid #dbe5e0;border-radius:16px;padding:24px;box-shadow:0 6px 26px #143b3210}.login{max-width:500px;margin:8vh auto}.login form{margin-top:26px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.toolbar input{max-width:320px}.toolbar h2{margin-right:auto}label{display:block;margin:16px 0;font-weight:500}input,textarea,select{display:block;width:100%;border:1px solid #cddbd5;background:#fff;border-radius:8px;font:inherit;padding:11px 12px;margin-top:7px;color:#183332}button{padding:10px 15px;border:1px solid #cadbd5;border-radius:8px;font:inherit;cursor:pointer;background:#fff;color:#214c43;white-space:nowrap}button:hover{background:#edf6f1}button:disabled{opacity:.4;cursor:default}.primary{background:#197b64;color:#fff;border-color:#197b64}.primary:hover{background:#12634f}.login .primary{width:100%;margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;font-weight:600;color:#778d86;background:#f5f8f6}td,th{padding:16px 12px;border-bottom:1px solid #edf2ef;vertical-align:middle}td:first-child{font-weight:600}.badge{display:inline-block;font-size:12px;padding:5px 10px;border-radius:20px;background:#e5f4ec;color:#19704d}.off{background:#f3ece3;color:#947143}.online{color:#197b64}td.actions button{padding:7px 10px;margin:3px;font-size:12px}.danger{color:#ac4141}td.note{max-width:180px;overflow-wrap:anywhere}.pagination{display:flex;gap:16px;justify-content:flex-end;align-items:center;margin-top:20px}.audit{margin-top:24px}#message{padding:14px 0;min-height:35px;color:#19704d}.error{color:#ad3f3f!important}dialog{width:min(480px,95vw);border:1px solid #dae4de;border-radius:16px;padding:26px;color:#183332}dialog::backdrop{background:#102b2a80}.dialogActions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}footer{font-size:12px;text-align:center;color:#81938d;margin:40px 20px}input:focus,textarea:focus,select:focus{outline:2px solid #26837355;outline-offset:1px}header button{background:transparent;color:white;border-color:#648c81}@media(max-width:700px){main{padding:0 12px;margin-top:24px}.card{padding:16px}h1{font-size:23px}.heading{display:block}.heading button{margin-top:10px}.toolbar{flex-wrap:wrap}.brand span{display:none}}
@media(max-width:700px){.users-table,.users-table tbody{display:block}.users-table thead{display:none}.users-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:18px 0;border-bottom:1px solid #e5ede8}.users-table td{display:block;padding:5px 0;border:0;min-width:0;overflow-wrap:anywhere}.users-table td:first-child{grid-column:1/-1;font-size:16px;margin-bottom:6px}.users-table td:nth-child(5),.users-table td:nth-child(6){grid-column:1/-1;max-width:none}.users-table td:nth-child(2)::before{content:'授权状态';display:block;color:#81938d;font-size:11px;margin-bottom:5px}.users-table td:nth-child(3)::before{content:'到期时间';display:block;color:#81938d;font-size:11px;margin-bottom:5px}.users-table td:nth-child(4)::before{content:'客户端';display:block;color:#81938d;font-size:11px;margin-bottom:5px}.users-table td:nth-child(5)::before{content:'备注';display:block;color:#81938d;font-size:11px;margin-bottom:5px}.users-table .actions{display:flex;flex-wrap:wrap;gap:5px}.users-table .actions button{margin:0} .audit table{min-width:440px}}
