:root{color-scheme:light;--ink:#15243a;--muted:#738198;--line:#e4eaf2;--blue:#2864e8;--bg:#f4f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 system-ui,-apple-system,"Microsoft YaHei",sans-serif}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{padding:9px 16px;border:1px solid #dbe2ed;border-radius:8px;background:white;color:var(--ink);cursor:pointer}button:hover{background:#edf3fe}button:disabled{opacity:.5;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:white;font-weight:600}.primary:hover{background:#1b51c8}.quiet{background:transparent;color:inherit}.subtle,.footnote{color:var(--muted)}.footnote{font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;color:#8092ae;font-weight:600}h1,h2,p{margin-top:0}h1{font-size:28px;margin-bottom:8px;letter-spacing:-.5px}h2{font-size:16px;margin:0}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#596b83}input,select,textarea{background:white;color:var(--ink);border:1px solid #d9e2ee;border-radius:8px;padding:10px 12px;min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2864e812}input[type=number]{width:95px}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#2864e8;color:white;font-size:18px;font-weight:800}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#e7efff,transparent 70%)}.login-card{background:white;border:1px solid var(--line);border-radius:18px;width:min(440px,calc(100% - 36px));padding:42px;box-shadow:0 24px 80px #15376b0b}.login-card .eyebrow{margin-top:24px}.login-card h1{font-size:26px}.login-card form{display:grid;gap:18px;margin-top:28px}.login-card button{width:100%}.login-card .footnote{margin-top:26px;margin-bottom:0;text-align:center}.error{color:#c44343;font-size:13px;margin:4px 0 0;min-height:0}aside{position:fixed;inset:0 auto 0 0;width:218px;padding:30px 22px;background:#14243b;color:#d9e4f6;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px}.brand small{display:block;font-size:11px;color:#8294b0;font-weight:400}.brand .brand-mark{width:38px;height:38px}.nav{display:block;width:100%;background:transparent;border:0;color:#9cacc6;text-align:left;padding:12px 16px;margin-bottom:8px}.nav.active{background:#274566;color:#fff}.nav:hover{background:#213a57;color:white}nav{margin-top:42px}.aside-bottom{margin-top:auto;color:#90a4bf;font-size:12px}.aside-bottom p{margin-top:10px}.online-dot{width:6px;height:6px;background:#43c79d;display:inline-block;border-radius:50%;margin-right:6px}main{margin-left:218px;padding:36px 40px;max-width:1800px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-head p{margin-bottom:4px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metrics>div{border:1px solid var(--line);border-radius:12px;padding:20px 24px;background:white}.metrics span{display:block;color:var(--muted);font-size:12px}.metrics strong{font-size:32px;display:block;margin-top:7px}.panel{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:22px;overflow:hidden}.panel-head,.table-tools{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);gap:16px}.panel-head .subtle{font-size:12px}.create-form{display:flex;gap:16px;align-items:end;padding:22px 24px}.create-form .wide{flex:1}.create-form .primary{height:42px;white-space:nowrap}.table-tools form{display:flex;gap:10px}.table-tools input{width:260px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbfd;color:#8995a6;font-weight:500;font-size:12px;padding:13px 20px}td{border-top:1px solid #edf1f6;padding:16px 20px;font-size:13px}.cell-secondary{display:block;font-size:11px;color:#96a1b1;margin-top:3px}.badge{display:inline-block;padding:3px 9px;border-radius:5px;background:#f1f4f8;color:#6e8096;font-size:11px}.badge.active{background:#e6f6ee;color:#208457}.badge.expired{background:#fff3e2;color:#b58121}.badge.disabled{background:#fceeee;color:#bc4a4a}.row-actions{display:flex;gap:6px}.row-actions button{padding:5px 8px;font-size:11px}.note-cell{max-width:200px;white-space:normal;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line)}.pagination span{margin-right:auto;color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:40px}.message{padding:12px 16px;border-radius:8px;background:#e9f2ff;color:#245ab7;margin-bottom:16px}.message.bad{background:#fff0ef;color:#b34747}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(650px,calc(100% - 32px));color:var(--ink);box-shadow:0 24px 100px #14243b30}dialog::backdrop{background:#0d1c3599}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-head button{padding:0 10px;font-size:24px;border:0}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}dialog textarea{width:100%;resize:vertical;font-family:Consolas,monospace;font-size:13px}dialog p{margin:14px 0;color:var(--muted)}#extendFields{display:flex;gap:16px}@media(max-width:1100px){aside{width:180px;padding:24px 16px}main{margin-left:180px;padding:26px 22px}.create-form{flex-wrap:wrap}.create-form .wide{min-width:200px}.table-tools{align-items:flex-start;flex-direction:column}.metrics{gap:10px}.metrics>div{padding:16px}}@media(max-width:700px){aside{position:static;width:100%;padding:16px;display:block}.brand{display:none}nav{display:flex;margin:0;gap:8px}.nav{margin:0}.aside-bottom{display:none}main{margin:0;padding:20px 14px}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:24px}.create-form{padding:16px;gap:12px}.panel-head,.table-tools{padding:16px}.table-tools form{flex-wrap:wrap}.table-tools input{width:100%}.page-head{align-items:flex-start}.login-card{padding:28px}.panel-head{align-items:flex-start;flex-direction:column}}

.key-cell{min-width:290px;max-width:360px;white-space:normal}.card-code{display:block;font-family:Consolas,monospace;font-size:13px;line-height:1.8;overflow-wrap:anywhere;user-select:all}.key-button{margin-top:8px;padding:4px 9px;font-size:11px;color:var(--blue)}
