:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#182821;background:#f6f8f5;line-height:1.6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:84px;border-bottom:1px solid #e1e7df;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));background:#fff}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand strong{font-size:25px;letter-spacing:-1px}.brand-mark{background:#215d42;color:white;border-radius:13px;width:38px;height:38px;text-align:center;line-height:33px;font-size:33px;font-weight:700}.brand-caption{font-size:14px;color:#64746b;border-left:1px solid #dde4db;padding-left:14px;margin-left:5px}#app{min-height:calc(100vh - 162px)}.layout{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:190px 1fr;gap:42px;padding:42px 24px 70px}nav{display:flex;flex-direction:column;gap:8px}nav a{padding:11px 15px;color:#59695e;text-decoration:none;border-radius:8px;font-size:14px}nav a.active{background:#e5eee4;color:#245e42;font-weight:650}nav .nav-caption{padding:0 15px;font-size:11px;letter-spacing:2px;color:#8a968c;margin:6px 0 12px}h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin:0 0 10px}h2{font-size:18px;margin:0 0 16px}h3{font-size:16px;margin:0 0 8px}p{margin:0 0 14px}.muted{color:#738077;font-size:14px}.eyebrow{font-size:11px;letter-spacing:3px;color:#628367;margin-bottom:18px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.panel{background:white;border:1px solid #dfe7db;border-radius:14px;padding:26px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.stat{padding:22px;background:white;border:1px solid #dfe7db;border-radius:12px}.stat strong{display:block;font-size:31px;font-weight:600}.stat span{font-size:13px;color:#768276}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button,.button{font:inherit;font-size:14px;cursor:pointer;border:1px solid #d5ded2;border-radius:8px;padding:9px 15px;background:white;color:#234b35;display:inline-block;text-decoration:none}button:hover,.button:hover{background:#f0f5ed}button.primary,.button.primary{background:#225b40;color:white;border-color:#225b40}button.primary:hover{background:#18472f}button.danger{color:#a93e35;border-color:#e9c8c3}button:disabled{opacity:.5;cursor:wait}input,select,textarea{font:inherit;font-size:14px;border:1px solid #cad6c8;border-radius:8px;padding:11px 12px;width:100%;background:#fff;color:#182821}input:focus,select:focus,textarea:focus{outline:2px solid #bdd3b8;outline-offset:1px}input[type=checkbox]{width:16px;height:16px;accent-color:#245e42}label{display:block;font-size:13px;font-weight:550;margin:16px 0 7px}.check{display:flex;align-items:center;gap:9px;font-weight:400}.field-note{font-size:12px;color:#7b877c;margin:6px 0}.auth-wrap{max-width:1080px;margin:0 auto;padding:65px 24px;display:grid;grid-template-columns:1fr 420px;gap:85px;align-items:start}.auth-hero{padding-top:48px}.auth-hero h1{font-size:47px;line-height:1.25;font-weight:600;margin-bottom:24px}.auth-hero p{max-width:370px;color:#728074;font-size:16px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:42px;max-width:390px}.hero-grid div{border-top:1px solid #cdd8c9;padding-top:13px;font-size:13px;color:#657562}.auth-card{background:#fff;padding:32px;border:1px solid #dfe7db;border-radius:18px;box-shadow:0 10px 40px #253e2810}.auth-card h2{font-size:24px;margin-bottom:4px}.auth-card form>button.primary{width:100%;margin-top:22px}.auth-links{display:flex;justify-content:space-between;margin-top:22px;font-size:13px}.auth-links a{color:#326747;text-decoration:none}.code-row{display:grid;grid-template-columns:1fr auto;gap:8px}.empty{padding:42px 20px;text-align:center;border:1px dashed #cdd8c9;border-radius:12px;color:#738077;background:#fafcf9}.badge{display:inline-block;border-radius:5px;padding:2px 8px;background:#edf4e9;color:#3e7047;font-size:11px;font-weight:550}.badge.warn{color:#8a6b24;background:#f8f0d8}.badge.grey{color:#7b817a;background:#f0f1ee}.key-card{padding:21px 0;border-bottom:1px solid #e6ece2}.key-card:last-child{border-bottom:none}.key-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.key-name{display:flex;align-items:center;gap:10px}.key-meta{font-size:12px;color:#798579;margin:9px 0 13px;display:flex;gap:18px;flex-wrap:wrap}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;word-break:break-all;color:#50664f}.permission{display:inline-block;font-family:monospace;font-size:11px;background:#f3f6ef;border:1px solid #e3eadb;padding:2px 7px;border-radius:4px;margin:0 6px 7px 0}.service{display:flex;gap:18px;justify-content:space-between;align-items:start}.service-icon{width:42px;height:42px;border-radius:10px;background:#eef3e9;color:#5a7952;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.service-body{flex:1}.notice{padding:14px 17px;background:#f4f7ec;border:1px solid #e0e7cf;border-radius:9px;font-size:13px;color:#647054;margin:16px 0}.notice.warn{background:#fff8e9;border-color:#eadbb9;color:#806428}.loading{text-align:center;padding:80px;color:#7a877b}.data-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #eef1e9;font-size:14px}.data-row:last-child{border:0}.data-row span{color:#7a877b}.list{font-size:13px}.list li{padding-bottom:10px;color:#64715f}.history{padding:10px 0;border-bottom:1px solid #edf1e8;font-size:12px;display:flex;gap:20px;justify-content:space-between}.history span{color:#85907f}.key-secret{background:#f3f7ed;min-height:105px;word-break:break-all;font-family:monospace;font-size:13px}.error{color:#ad473b;font-size:13px;margin-top:12px;white-space:pre-wrap}dialog{border:1px solid #d6dfcf;border-radius:16px;padding:28px;width:min(520px,calc(100% - 32px));color:#182821;box-shadow:0 25px 100px #0d241333}dialog::backdrop{background:#18291a66;backdrop-filter:blur(3px)}dialog .actions{margin-top:24px;justify-content:flex-end}dialog h2{font-size:21px}.filter-row{display:flex;gap:10px;margin-bottom:10px}.filter-row select{width:auto;max-width:220px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#193e2a;color:white;border-radius:10px;padding:12px 23px;font-size:13px;z-index:10;max-width:90%;display:none}footer{border-top:1px solid #e2e8dc;padding:23px max(24px,calc((100vw - 1112px)/2));font-size:11px;color:#8b9587;display:flex;justify-content:space-between}a{color:#2d6541}small{font-size:12px}.spacer{margin-top:25px}@media(max-width:800px){header{padding:0 20px;height:72px}.brand-caption{display:none}.layout{grid-template-columns:1fr;padding-top:20px;gap:25px}nav{flex-direction:row;overflow:auto;gap:4px}nav a{white-space:nowrap;padding:8px 12px}nav .nav-caption{display:none}.auth-wrap{grid-template-columns:1fr;padding-top:30px;max-width:500px;gap:26px}.auth-hero{padding-top:0}.auth-hero h1{font-size:33px;margin-bottom:10px}.auth-hero p{font-size:14px}.hero-grid{display:none}.auth-card{padding:25px}.stats{gap:9px}.stat{padding:15px}.stat strong{font-size:25px}.page-top{align-items:start;flex-direction:column;margin-bottom:23px}h1{font-size:27px}.panel{padding:20px}.key-head{align-items:start;flex-direction:column}.service{flex-wrap:wrap}.filter-row{flex-wrap:wrap}.data-row{flex-direction:column;gap:3px}footer{font-size:10px;gap:18px}}
