:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#233c49;background:#f3f7f6;font-size:15px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;background:white;border-bottom:1px solid #dfe9e5}header>a{font-size:24px;font-weight:700;color:#167d75;text-decoration:none}nav{display:flex;gap:18px;align-items:center}a{color:#117d78}main{max-width:1120px;margin:40px auto;padding:0 22px}.auth{max-width:480px;margin:60px auto}.card{background:white;border:1px solid #dbe6e1;border-radius:15px;padding:26px;margin-bottom:22px}h1{font-size:30px;margin-top:0}h2{font-size:21px;margin-top:0}p{line-height:1.8}.muted{color:#637b84;font-size:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}label{display:block;margin:15px 0 6px;font-weight:600}input,select,button{font:inherit}input,select{padding:11px;border:1px solid #becfc8;border-radius:8px;width:100%;background:white;color:inherit}button,.button{display:inline-block;border:1px solid #b7cbc2;border-radius:8px;padding:10px 17px;background:white;color:#24443e;cursor:pointer;text-decoration:none}button.primary,.button.primary{background:#168b82;color:white;border-color:#168b82}button:disabled{opacity:.5;cursor:wait}form>button{margin-top:22px;width:100%}.small{max-width:140px}.tabs{display:flex;gap:10px;margin-bottom:25px}.error{color:#a73535;white-space:pre-wrap}.success{color:#167d75}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#234e46;color:white;padding:12px 24px;border-radius:9px;display:none;max-width:90vw}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:13px 9px;border-bottom:1px solid #e4ece8;text-align:left;white-space:nowrap}td button{padding:6px 9px;margin:2px}pre{white-space:pre-wrap;word-break:break-all;background:#edf4f1;padding:18px;border-radius:8px}progress{width:100%;height:16px;accent-color:#168b82}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:700px){.grid{grid-template-columns:1fr}header{align-items:flex-start}nav{gap:9px;flex-wrap:wrap}main{margin-top:25px}}
