*{box-sizing:border-box}body,html{background:#f7f8fa;color:#111827;font-family:Suisse Int\'l,Avenir Next,Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0}a{color:#0f766e;text-decoration:none}a:hover{text-decoration:underline}.layout{margin:0 auto;max-width:980px;padding:32px 20px 56px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:16px;padding:20px}.title{font-size:30px;line-height:1.2;margin:0}.subtitle{color:#4b5563;margin:8px 0 0}.list{margin:10px 0 0;padding-left:18px}.label{display:block;font-weight:600;margin-bottom:8px}.button,.input,.textarea{border-radius:8px;font-size:14px;width:100%}.input,.textarea{background:#fff;border:1px solid #d1d5db;padding:10px 12px}.textarea{min-height:180px;resize:vertical}.button{background:#0f766e;border:1px solid #0f766e;color:#fff;cursor:pointer;padding:10px 14px}.button:disabled{cursor:not-allowed;opacity:.6}.button-outline{background:#fff;color:#0f766e}.button-danger{background:#b91c1c;border-color:#b91c1c}.button-row{display:flex;gap:10px;margin-top:12px}.button-inline{width:auto}.muted{color:#6b7280}.error,.muted{font-size:13px}.error{color:#b91c1c;margin-top:10px}.table{border-collapse:collapse;margin-top:14px;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:10px 8px;text-align:left}.code{background:#0b1220;border-radius:8px;color:#d7e1f7;font-size:13px;overflow:auto;padding:12px}.grid-2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-row{align-items:center;display:flex;gap:8px}.created-key{background:#ecfdf5;border:1px solid #d1fae5;border-radius:10px;margin-top:14px;padding:12px}.created-key-code{display:block;margin:8px 0 12px;word-break:break-all}.inline-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.label-inline{font-size:13px;font-weight:600}.input-small{min-width:100px;width:auto}.metrics-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.metric-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.metric-value{font-size:24px;font-weight:700;margin:6px 0 0}.badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;text-transform:uppercase}.badge-active{background:#dcfce7;color:#166534}.badge-revoked{background:#fee2e2;color:#991b1b}.badge-expired{background:#e5e7eb;color:#374151}@media(max-width:900px){.grid-2{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{flex-direction:column}}
