*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#344050;font:14px/1.5 "Microsoft YaHei",Arial,sans-serif}a{color:#2c7be5;text-decoration:none}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 14px;border:1px solid #d8e2ef;border-radius:4px;background:white;color:#344050;cursor:pointer;white-space:nowrap}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#2c7be5;color:white;border-color:#2c7be5}.link{border:0;background:transparent;color:#2c7be5;padding:0;min-height:24px}.full{width:100%}input,textarea{display:block;width:100%;min-height:32px;padding:6px 10px;border:1px solid #d8e2ef;border-radius:4px;background:#fff;color:#344050}input:focus,textarea:focus{outline:2px solid #d9e8ff;border-color:#2c7be5}input:disabled,textarea:disabled,input[readonly]{background:#f8fafd}label{display:block;margin:0 0 18px}label input,label textarea{margin-top:7px}label small{display:block;color:#8b97a8;font-size:12px;margin-top:5px}.check{display:flex;gap:8px;align-items:center}.check input{width:16px;height:16px;min-height:16px;margin:0}.required,.error{color:#d63b50}.muted{color:#8895a7}.topbar{height:64px;position:fixed;inset:0 0 auto;background:white;border-bottom:1px solid #e5ebf3;display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:10}.brand{color:#223b65;font-size:22px;font-weight:700}.brand small{font-size:13px;font-weight:400;color:#8c99aa;margin-left:10px}.account{display:flex;align-items:center;gap:20px}.account form{margin:0}.sidebar{position:fixed;left:0;top:64px;bottom:0;width:196px;background:#fff;border-right:1px solid #e5ebf3;padding:24px 12px}.nav-label{display:block;color:#a0aabb;font-size:12px;padding:0 14px 12px}.sidebar a{display:block;padding:11px 16px;border-radius:5px}.sidebar .active{background:#eaf2ff;color:#2c7be5}.workspace{margin-left:196px;padding:94px 30px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.breadcrumb{font-size:12px;color:#93a0b1}h1{font-size:23px;font-weight:500;margin:6px 0 0}h2{font-size:16px;font-weight:500;margin:0 0 22px}.card{background:white;border:1px solid #e5ebf3;border-radius:6px;padding:24px;box-shadow:0 2px 6px #1a355205}.search-bar{display:flex;gap:10px;background:#f8fafc;padding:18px;margin:0 0 24px}.search-bar input{max-width:480px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f8fafc;font-weight:500;color:#627189}td,th{padding:16px 14px;border-bottom:1px solid #edf2f8}td{font-size:13px}.operations{white-space:nowrap}.operations a{margin-right:14px}.badge{display:inline-block;border-radius:4px;background:#eef2f7;color:#6d7b8e;font-size:12px;padding:2px 7px}.badge.ok{background:#e5f5ef;color:#269472}.badge.off{background:#fff0ee;color:#cc6a54}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:22px}.pagination>span:first-child{margin-right:auto}.edit-form{max-width:650px}.edit-form h2:not(:first-child){border-top:1px solid #edf2f8;padding-top:24px}.form-actions{display:flex;gap:12px;margin-top:26px}.notice{padding:11px 14px;margin-bottom:18px;border-radius:4px}.notice:empty{display:none}.success{background:#eaf7f0;color:#218261}.error-box{background:#fff1f0;color:#b83f4e}.empty{text-align:center;color:#9aa5b5}dialog{width:540px;max-width:calc(100vw - 32px);max-height:90vh;border:0;border-radius:7px;padding:24px;box-shadow:0 12px 50px #0003;overflow:auto}dialog::backdrop{background:#0006}.dialog-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-title h2{margin:0}.icon{border:0;font-size:22px;padding:0 5px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5fc,#e8effc)}.login-card{background:#fff;width:400px;max-width:calc(100% - 32px);padding:36px;border:1px solid #e4ebf5;border-radius:10px;box-shadow:0 12px 40px #233b6610}.login-card h1{font-size:24px}.login-card form{margin-top:28px}[hidden]{display:none!important}@media(max-width:900px){.sidebar{width:140px}.workspace{margin-left:140px;padding:88px 16px 24px}.card{padding:16px}.search-bar{flex-wrap:wrap}.topbar{padding:0 16px}}@media(max-width:600px){.sidebar{display:none}.workspace{margin-left:0}.brand small{display:none}.page-heading{align-items:flex-start}.pagination{gap:8px}}

.danger{color:#d63b50}
