:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#183b50;background:#f0f7fb;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#147cae;text-decoration:none}a:hover{text-decoration:underline}header{height:70px;background:#fff;border-bottom:1px solid #dcebf2;display:flex;align-items:center;gap:18px;padding:0 max(24px,calc((100% - 1200px)/2))}.brand{font-size:22px;font-weight:750;white-space:nowrap;color:#173f59}.brand span{font-size:14px;color:#6691a7;margin-left:12px}.account{margin-left:auto;color:#69899a}header form{margin:0}nav{display:flex;gap:8px;max-width:1200px;margin:20px auto 0;padding:0 20px;flex-wrap:wrap}nav a{padding:9px 18px;color:#5a7c8f;border-radius:8px}.selected{background:#d9edf8;color:#1676a3;font-weight:650}main{max-width:1200px;margin:28px auto;padding:0 20px;min-height:65vh}h1{font-size:25px;margin:0 0 18px}h2{font-size:17px;margin:0 0 16px}.panel{background:#fff;border:1px solid #dfedf3;border-radius:13px;padding:24px;margin-bottom:20px;box-shadow:0 3px 12px #1e648006}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.heading h1,.heading h2{margin:0}.heading p{margin:6px 0 0}.muted{color:#7290a1}.small{font-size:12px}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.stats .panel{padding:20px}.stats strong{font-size:30px;display:block;margin-top:8px;color:#147cae}label{display:block;margin:0 0 16px}input,select,textarea{display:block;width:100%;border:1px solid #cadfe9;background:#fbfdff;color:#183b50;border-radius:7px;padding:10px 12px;margin-top:6px;font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:#35a1d4;box-shadow:0 0 0 3px #e4f4fd}button,.button{display:inline-block;font:inherit;cursor:pointer;border:1px solid #bad7e5;border-radius:7px;background:#edf7fc;color:#226a8e;padding:9px 17px;white-space:nowrap;text-decoration:none}button:hover,.button:hover{filter:brightness(.97);text-decoration:none}.primary{background:#2695ca;color:#fff;border-color:#2695ca}.quiet{background:transparent;border-color:transparent}.danger{color:#b54444;border-color:#eac8c8;background:#fff8f8}.full{width:100%}.row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.row label{margin-bottom:0;min-width:110px}.row input,.row select{max-width:240px}.row .grow input{max-width:none}.grow{flex:1;min-width:180px}.key-search{margin-top:14px}.key-search input{margin:0;max-width:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{color:#7a94a2;font-weight:500;background:#f7fbfd}th,td{padding:13px 12px;border-bottom:1px solid #eaf2f6;vertical-align:top}td{overflow-wrap:anywhere}.nowrap{white-space:nowrap}.mono,code,pre{font-family:Consolas,monospace}.badge{background:#eaf5fb;color:#2583b0;padding:3px 9px;border-radius:6px;white-space:nowrap}.empty{text-align:center;padding:36px;color:#8fa4af}.auth{max-width:420px;margin:55px auto}.auth p{font-size:13px}.qr{display:block;width:220px;height:220px;margin:20px auto}.secret{display:block;overflow-wrap:anywhere;letter-spacing:1px;padding:12px;background:#f2f8fc}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.narrow{max-width:760px}dl{display:grid;grid-template-columns:140px 1fr;gap:12px;margin:0}dt{color:#7c96a5}dd{margin:0;overflow-wrap:anywhere}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.pagination{display:flex;gap:20px;margin-top:20px}details{margin-top:22px;border-top:1px solid #e4eff5;padding-top:15px}summary{cursor:pointer;color:#4088ab}textarea{margin-bottom:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5fafc;padding:16px;font-size:12px}footer{text-align:center;color:#91a8b5;font-size:12px;padding:30px}@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}header{padding:0 20px}.panel{padding:18px}}@media(max-width:540px){.stats{grid-template-columns:repeat(2,1fr)}.brand span{display:none}nav a{padding:8px 12px}main{padding:0 12px}dl{grid-template-columns:100px 1fr}.auth{margin:30px auto}.heading{align-items:flex-start}.row{align-items:stretch}.row label{width:100%}.row input,.row select{max-width:none}}
