:root{font:15px/1.5 system-ui,-apple-system,sans-serif;color:#203b30;background:#f5f7f2}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{padding:10px 14px;min-height:44px;background:white;border:1px solid #cdd9cb;border-radius:8px;color:#254a36;cursor:pointer}button:hover{background:#e9f0e5}button:disabled{opacity:.5;cursor:wait}input,textarea,select{width:100%;padding:12px;border:1px solid #cdd9cb;border-radius:7px;background:#fff;color:#203b30}textarea{min-height:130px;resize:vertical}label{display:block;margin:16px 0;font-size:14px}label>input,label>textarea,label>select{margin-top:6px}input[type=checkbox]{width:auto;margin-right:8px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #84ae87;outline-offset:3px}.primary{background:#22583f;color:#fff;border-color:#22583f}.primary:hover{background:#194832}.quiet{background:transparent}.danger{color:#a34035}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}aside{background:#eaf0e5;border-right:1px solid #dce5d7;padding:30px 20px;display:flex;flex-direction:column;gap:18px}.brand{font-size:32px;font-weight:650;letter-spacing:-1.5px;color:#245037;text-decoration:none}nav{display:grid;gap:7px}nav button{text-align:left;border:0;background:transparent}nav button.selected{background:#d8e5d0}#logout{margin-top:auto}main{padding:35px 40px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}h1{font:36px/1.2 Georgia,serif;margin:9px 0}h2{font-size:19px;font-weight:550;margin:0}h3{font-size:16px;margin:10px 0}.eyebrow{font-size:11px;letter-spacing:1.4px;color:#6d7f65}.muted,small{color:#6a7c62;font-size:13px}small{display:block}p{overflow-wrap:anywhere}.card{background:white;border:1px solid #dce5d6;border-radius:12px;padding:22px;margin-bottom:16px}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:15px}.badge{display:inline-block;border-radius:5px;background:#e7f1e0;color:#3d6c31;padding:3px 8px;font-size:12px}.badge.rejected,.badge.revoked{background:#fae8e4;color:#9c4037}.badge.suspended,.badge.pending,.badge.queued,.badge.retiring{background:#fbf0d9;color:#88631a}.badge.expired{background:#eee;color:#66705d}.body{white-space:pre-wrap;font-size:14px}.empty{padding:50px 20px;text-align:center;color:#73816a}.key{padding:14px 0;border-top:1px solid #e9eee4}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.number{font-size:28px}.code{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tabs .selected{background:#d8e5d0}footer{border-top:1px solid #dce5d6;margin-top:30px;padding-top:20px;color:#71836a;font-size:12px}#notice{padding:14px;background:#e6f0dd;border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}#notice.error,#error{color:#a24339}dialog{width:min(560px,calc(100% - 24px));border:1px solid #d5e0cf;border-radius:14px;padding:24px;color:#203b30}dialog::backdrop{background:#1a2c2355;backdrop-filter:blur(3px)}dialog header{margin-bottom:10px}.login{padding:30px 18px}.login-box{max-width:480px;margin:50px auto;padding:30px;background:white;border:1px solid #dce5d6;border-radius:16px}.login-box h1{margin:30px 0 20px}.login-box .primary{width:100%;margin-top:10px}[hidden]{display:none!important}@media(max-width:760px){.layout{display:block}aside{padding:15px 20px;border-right:0;border-bottom:1px solid #dce5d7;gap:10px}.brand{font-size:27px}nav{display:flex;flex-wrap:wrap;gap:4px}nav button{font-size:12px;padding:8px}#account-name{margin:0}#logout{position:absolute;right:20px;top:16px;font-size:12px}main{padding:25px 18px}header{align-items:flex-start;flex-direction:column}h1{font-size:30px}.grid{grid-template-columns:1fr}.card{padding:18px}input,textarea,select{font-size:16px}dialog header{flex-direction:row}.login-box{margin:10px auto;padding:23px}.row{align-items:flex-start}}
