:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:1.55rem;letter-spacing:-.03em}h2{margin-bottom:0;font-size:1.18rem;letter-spacing:-.02em}.muted{color:#687386;line-height:1.55}.eyebrow{display:block;margin-bottom:.3rem;color:#718096;font-size:.7rem;font-weight:800;letter-spacing:.13em}.center{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card,.card,.dialog{background:#fff;border:1px solid #e3e7ee;border-radius:16px;box-shadow:0 12px 40px #212e4c0f}.login-card{width:min(100%,420px);padding:2rem}.login-card h1{margin-top:1rem}.brand-mark{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#2957d9;border-radius:11px;font-weight:900}label{display:grid;gap:.45rem;margin:1rem 0;color:#3f4b5f;font-size:.85rem;font-weight:700}input{width:100%;min-height:44px;padding:.65rem .8rem;color:#172033;background:#fff;border:1px solid #cad1dd;border-radius:9px;outline:none}input:focus{border-color:#2957d9;box-shadow:0 0 0 3px #2957d91f}button{min-height:40px;padding:.6rem 1rem;border:0;border-radius:9px;font-weight:750}.primary{color:#fff;background:#2957d9}.primary:hover:not(:disabled){background:#2048bd}.secondary{color:#24408f;background:#e9efff}.ghost{color:#3f4b5f;background:transparent;border:1px solid #d7dce5}.app-shell>header{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:1rem max(1.25rem,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e3e7ee}.dashboard{width:min(1180px,calc(100% - 2.5rem));margin:2rem auto 4rem}.overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1rem}.card{padding:1.4rem}.section-heading,.users-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.protocol,.health{padding:.35rem .55rem;border-radius:99px;font-size:.72rem;font-weight:850}.protocol{color:#3155ae;background:#edf2ff}.health.ok{color:#147145;background:#e5f6ed}.health.bad{color:#a33a32;background:#feecea}.card form{display:flex;align-items:end;gap:.75rem}.card form label{flex:1;margin-bottom:0}.card form label.compact{flex:0 0 105px}.metrics{margin:1.35rem 0;display:grid;gap:.75rem}.metrics div{display:flex;justify-content:space-between;gap:1rem}.metrics dt{color:#687386}.metrics dd{margin:0;font-weight:750;text-align:right}.sync-error{max-height:4.6em;overflow:auto;padding:.7rem;color:#8d322c;background:#fff1f0;border-radius:8px;font:.77rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.users-card{margin-top:1rem;padding:0;overflow:hidden}.users-heading{padding:1.4rem;align-items:center;border-bottom:1px solid #e9ecf1}.create-form{width:min(100%,440px)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid #edf0f4;vertical-align:middle}th{color:#687386;background:#fafbfc;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}td strong,td small{display:block}td small{margin-top:.25rem;color:#7d8798}td code{color:#24385f}.status{display:inline-flex;padding:.28rem .48rem;border-radius:6px;font-size:.75rem;font-weight:750;white-space:nowrap}.status-active{color:#147145;background:#e5f6ed}.status-pending{color:#806114;background:#fff5d7}.status-revoked{color:#6c7380;background:#edf0f3}.status-provisioning,.status-revoking{color:#3155ae;background:#edf2ff}.actions{text-align:right;white-space:nowrap}.link-button{min-height:auto;padding:.35rem;color:#2957d9;background:transparent}.link-button.danger{color:#b33a31}.empty{padding:3.5rem 1rem;display:grid;justify-items:center;gap:.45rem;color:#687386}.empty strong{color:#303b50}.alert{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.8rem 1rem;border-radius:10px}.alert.error{color:#8d322c;background:#feecea}.alert.success{color:#11623c;background:#e5f6ed}.alert button{min-height:auto;padding:0 .25rem;color:inherit;background:transparent;font-size:1.25rem}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#1118278c}.dialog{width:min(100%,560px);padding:1.5rem}.dialog p{line-height:1.55}.activation-code{display:block;padding:1rem;color:#172033;background:#f2f5fa;border:1px solid #dde2eb;border-radius:9px;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:all}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){.overview-grid{grid-template-columns:1fr}.users-heading{align-items:stretch;flex-direction:column}.create-form{width:100%}}@media(max-width:560px){.dashboard{width:min(100% - 1.25rem,1180px);margin-top:.75rem}.card{padding:1rem}.card form,.create-form{align-items:stretch;flex-direction:column}.card form label.compact{flex-basis:auto}.app-shell>header{padding:.85rem}}
