:root{--page:#eef3f8;--panel:#fff;--ink:#183348;--muted:#4d667a;--blue:#155f9b;--green:#24663c;--red:#9d2836;--line:#cad7e2;font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--page);font-size:14px;font-variant-numeric:tabular-nums}
*{box-sizing:border-box}body{margin:0}header{height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between}.brand{font-size:20px;font-weight:700}main{max-width:1320px;margin:auto;padding:36px 24px 60px}h1{font-size:30px;line-height:1.3;margin:0 0 10px}h2{font-size:22px;margin:0 0 24px}h3{font-size:14px;margin:0 0 8px}p{line-height:1.7;max-width:65ch;color:var(--muted)}button,input,select{font:inherit}button{border:1px solid var(--blue);border-radius:5px;color:white;background:var(--blue);padding:11px 18px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.92)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:white;color:var(--blue)}button.quiet{background:transparent;border-color:transparent;color:var(--blue)}button.danger{background:#fff;color:var(--red);border-color:#dbb0b6}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dba900;outline-offset:3px}label{display:block;font-weight:600;margin-bottom:20px}input,select{display:block;width:100%;border:1px solid #9eb2c2;border-radius:4px;background:#fff;color:var(--ink);min-height:44px;padding:10px 12px;margin-top:8px}input[readonly]{background:#edf2f7}.login{margin:8vh auto 0;max-width:430px;background:white;padding:34px;border-radius:8px;border-top:5px solid var(--blue);box-shadow:0 5px 22px #19395012}.login p{margin-bottom:26px}.login button{width:100%}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.heading p{margin:0}.local{color:#665415;background:#fff1bd;padding:7px 12px;border-radius:4px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.accounts{background:white;border-radius:8px;border:1px solid var(--line);overflow:hidden}.search{padding:22px 24px}.search label{margin:0}.search>div{display:flex;gap:8px;align-items:end}.search input{max-width:340px}.editor{background:white;border-top:5px solid var(--blue);padding:26px 24px;border-radius:6px}.editor form>button{width:100%;margin-top:6px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#e9f0f6;color:#3b556b;font-size:13px;padding:13px 16px;font-weight:600}td{padding:16px;border-top:1px solid #e2e9ee;font-size:14px}td:first-child{font-weight:600}td button{padding:6px 10px;font-size:13px}.status{display:inline-block;border-radius:3px;padding:4px 8px;font-size:12px;background:#e7f3ea;color:var(--green)}.status.expired{color:#665415;background:#fff1bd}.status.revoked{color:var(--red);background:#fae9ec}.hint{font-size:12px;padding:0 24px;margin:18px 0}.empty{padding:32px 24px}.note{font-size:13px;background:#edf4fb;padding:12px;border-left:3px solid var(--blue)}.policy{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.policy p{font-size:13px;margin:0}details{margin-top:32px;background:#fff;padding:20px;border:1px solid var(--line);border-radius:6px}summary{cursor:pointer;font-weight:600;font-size:16px}#message{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 22px;background:var(--ink);color:white;border-radius:6px;box-shadow:0 3px 14px #18334822;z-index:3}#message:empty{display:none}#message.error{background:var(--red)}[hidden]{display:none!important}@media(max-width:1000px){.workspace-grid{grid-template-columns:1fr}.editor{max-width:100%}.editor form{max-width:440px}main{padding-top:24px}}@media(max-width:550px){header{height:60px;padding:0 16px}main{padding:24px 14px}.brand{font-size:17px}h1{font-size:26px}.heading{align-items:start;gap:12px}.search{padding:16px}.search>div{flex-wrap:wrap}.search input{max-width:100%;flex:1 0 100%}td,th{padding:12px}.login{padding:26px}.local{font-size:12px}}
dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:8px;padding:28px;color:var(--ink);box-shadow:0 12px 60px #18334833}dialog::backdrop{background:#18334866}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.pending{margin-bottom:24px;padding:22px 24px;background:#fff6d9;border:1px solid #c9a84d;border-radius:6px}.pending h2{margin:0 0 8px;font-size:20px}.pending p{margin:8px 0 14px;color:#594719}
