:root{color-scheme:light;--blue:#2563eb;--ink:#14284b;--muted:#5b7498;--line:#d7e5fa;--paper:#f4f8ff;font:14px/1.6 'PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}h1,h2,h3,p{margin:0}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 25% 20%,#d6e6ff,transparent 65%)}.login form{width:min(420px,90vw);padding:38px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 70px #102a5610}.login img{width:54px;height:54px}.login h1{font-size:28px;margin:18px 0 4px}.login p{color:var(--muted);margin-bottom:24px}.field{display:grid;gap:7px;margin:16px 0}input,select,textarea{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--paper);color:var(--ink);width:100%}textarea{min-height:130px;resize:vertical}.btn{border:1px solid var(--line);background:white;color:var(--muted);padding:9px 16px;border-radius:9px;white-space:nowrap}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.danger{color:#b93c56}.login .btn{width:100%;margin-top:12px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:#102a56;background-image:linear-gradient(#82b3ff12 1px,transparent 1px),linear-gradient(90deg,#82b3ff12 1px,transparent 1px);background-size:40px 40px;padding:32px 20px;color:#bdd1ef;display:flex;flex-direction:column;gap:8px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:35px}.brand img{width:42px;height:42px}.brand strong{font-size:23px;color:white}.brand small{display:block;font-size:11px}.nav{background:transparent;color:inherit;text-align:left;padding:12px 14px;border-radius:10px}.nav.active{background:white;color:#174cb6}.sidebar footer{margin-top:auto;font-size:12px;padding-top:32px}.sidebar footer button{color:inherit;background:transparent;text-decoration:underline}main{padding:32px;min-width:0;max-width:1700px;width:100%;margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}header p{color:var(--muted);margin-top:5px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:22px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row .field{min-width:100px;flex:1}.row .field.wide{flex:2}.row .btn{align-self:end;margin-bottom:16px}.toolbar{display:flex;gap:12px;align-items:center;margin:20px 0}.toolbar input{max-width:380px}.table-wrap{overflow:auto;margin:0 -22px}table{border-collapse:collapse;width:100%;min-width:1000px}th,td{text-align:left;border-bottom:1px solid #e3ecfa;padding:13px 18px;font-size:13px}th{color:var(--muted);background:#f7faff;font-weight:500}td small{display:block;color:var(--muted)}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions button{font-size:12px;padding:5px 8px}.tag{display:inline-block;background:#eaf1ff;color:#245fc2;padding:3px 8px;border-radius:6px}.tag.expired,.tag.disabled{background:#fcecf0;color:#b93c56}.tag.active{background:#e6f5fb;color:#076d91}.muted{color:var(--muted)}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.shade{position:fixed;inset:0;background:#102a5670;display:grid;place-items:center;z-index:10}.modal{width:min(680px,94vw);max-height:90vh;overflow:auto;padding:26px;background:white;border-radius:18px}.modal h2{margin-bottom:12px}.modal .foot{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.codes{height:280px;font-family:monospace}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;color:white;background:#102a56;border-radius:10px;display:none;z-index:30}#notice.show{display:block}.progress{height:5px;background:#eaf1ff;border-radius:4px;overflow:hidden;margin-top:16px}.progress span{display:block;height:100%;background:var(--blue)}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;padding:16px}.brand{margin:0 auto 0 0}.brand small,.sidebar footer{display:none}main{padding:20px}.row .field{min-width:150px}header{align-items:flex-start}.nav{padding:10px}.brand strong{font-size:20px}}
:root .form-error:empty{display:none}.login .form-error{color:#B93C56;font-size:13px;margin:10px 0}.connection-state{width:min(460px,90vw)}.connection-state h2{margin-bottom:12px}.retry{margin-top:12px}.release-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.upload-message{margin-top:16px;color:var(--muted)}.empty-result{padding:18px 0}.modal [readonly]{font-family:Consolas,monospace}@media(max-width:600px){.release-heading{align-items:flex-start;flex-direction:column}.pager{gap:12px;flex-wrap:wrap}}
