:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#243047;background:#f2f5f9;font-synthesis:none;--blue:#1677ff;--line:#e3e9f2}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d5dfeb;border-radius:6px;background:#fff;padding:9px 15px;color:#33445c;min-height:38px}button:hover{border-color:var(--blue);color:var(--blue)}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#d64040}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}input,select,textarea{width:100%;border:1px solid #d7e0ec;border-radius:6px;padding:11px;background:white;min-height:42px;color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #d7eaff;border-color:var(--blue)}label{display:grid;gap:8px;margin:17px 0}small,.muted{color:#7c899e}h1,h2,h3,p{margin-top:0}h1{font-size:26px}h2{font-size:20px}.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1fr)}.auth-intro{background:#17344e;color:white;padding:clamp(30px,6vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-intro:after{content:"";position:absolute;width:520px;height:520px;border:80px solid #ffffff08;border-radius:50%;right:-230px;bottom:-210px;pointer-events:none}.wordmark{letter-spacing:2px;font-size:20px;font-weight:700;margin-bottom:70px}.auth-intro h1{font-size:36px;line-height:1.5;letter-spacing:1px}.auth-intro p{color:#b5cada;line-height:2}.auth-points{display:grid;gap:18px;margin-top:35px;color:#d6e6f3}.auth-main{display:flex;align-items:center;justify-content:center;padding:32px}.auth-card{width:min(420px,100%)}.auth-card header{margin-bottom:28px}.auth-card .primary{width:100%;margin-top:8px;min-height:46px}.auth-links{display:flex;gap:18px;justify-content:space-between;margin-top:20px}.notice{padding:13px 16px;border-radius:7px;background:#edf5ff;border:1px solid #d4e6ff;color:#396398;line-height:1.8}.notice.warning{background:#fff9ee;border-color:#f2deb0;color:#8b6417}.error{color:#d53434;line-height:1.7;min-height:20px;margin:12px 0}.top{background:#29313c;color:white;display:flex;gap:22px;align-items:center;padding:15px 28px;min-height:62px}.top .brand{font-size:18px;font-weight:700}.top .sub{color:#c9d4e0}.top .right{margin-left:auto;display:flex;gap:14px;align-items:center}.top button{background:#ffffff10;color:white;border-color:#ffffff35}.admin{max-width:1600px;padding:26px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.heading h1{font-size:24px;margin-bottom:8px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.pills button.active{color:var(--blue);border-color:var(--blue);background:#edf5ff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.card{background:white;border:1px solid var(--line);border-radius:8px;padding:20px}.card .count{font-size:28px;margin-top:10px;font-weight:650}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:360px}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}td,th{border-bottom:1px solid var(--line);padding:14px 16px}th{font-weight:500;background:#f7f9fc;color:#6d7d94}td small{display:block;margin-top:6px}.row-buttons{display:flex;gap:6px}.row-buttons button{font-size:12px;padding:6px 10px;min-height:32px}.badge{display:inline-block;padding:4px 9px;background:#edf1f5;border-radius:5px;font-size:12px;color:#728096}.badge.good{background:#e6f7ee;color:#168550}.badge.bad{background:#ffeded;color:#bd3e3e}.badge.pending{background:#fff4dc;color:#a3771d}.empty{text-align:center;color:#8592a5;padding:55px}dialog{border:1px solid #dce4ed;border-radius:10px;padding:0;width:min(520px,calc(100% - 28px));max-height:90dvh;color:inherit}dialog::backdrop{background:#18273c75}dialog header{padding:20px 24px;border-bottom:1px solid var(--line)}dialog h2{margin:0}dialog form{padding:4px 24px 24px}dialog footer{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-list label{display:flex;align-items:center;gap:8px;margin:0}.check-list input{width:18px;min-height:18px}.license-wrap{max-width:700px;margin:50px auto;padding:20px}.license-wrap h1{line-height:1.5}.license-grid{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:20px 0}.break{overflow-wrap:anywhere;white-space:normal}pre{white-space:pre-wrap;word-break:break-word;margin:0;max-width:450px;font-size:12px}#platform-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:5;max-width:90%;padding:12px 24px;border-radius:7px;background:#28384e;color:white;display:none}.loading{padding:35px;text-align:center}.edition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.edition-grid h2{margin-bottom:10px}.edition-grid ul{padding-left:20px;line-height:2;color:#61728a}
@media(max-width:760px){.auth-wrap{display:block}.auth-intro{padding:26px 24px}.wordmark{margin-bottom:18px}.auth-intro h1{font-size:25px;margin-bottom:6px}.auth-intro p{margin:0}.auth-points{display:none}.auth-main{padding:28px 22px;align-items:flex-start}.auth-card{width:100%;max-width:460px}.top{padding:14px 16px;flex-wrap:wrap;gap:7px}.top .sub{display:none}.top .right{gap:8px;font-size:12px}.top button{padding:7px 10px}.admin{padding:20px 14px}.heading{align-items:flex-start}.heading h1{font-size:22px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:16px}.card .count{font-size:25px}.table-scroll{border:0;background:transparent;overflow:visible}table,tbody{display:block}thead{display:none}tr{display:grid;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;padding:8px}td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #f0f3f7;white-space:normal;overflow-wrap:anywhere}td:before{content:attr(data-label);color:#7c899e;font-size:12px;flex-shrink:0}td:last-child{border:0}.row-buttons{flex-wrap:wrap;justify-content:flex-end}.license-wrap{margin:20px auto}.license-grid{grid-template-columns:95px 1fr;gap:18px 10px}.toolbar{align-items:stretch}.toolbar input{max-width:none;flex-basis:100%}.pills{gap:6px}.pills button{padding:8px 12px}.heading p{line-height:1.7}.heading>button{white-space:nowrap}}
