*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f6f8;color:#1f2328;font-size:14px}.layout{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:24px;padding:10px 20px;background:#1f2328;color:#fff;box-shadow:0 1px 3px #0000001a}.topbar .brand{color:#fff;text-decoration:none;font-weight:600;font-size:16px}.topbar nav a{color:#cbd5e1;text-decoration:none;padding:4px 8px;border-radius:4px}.topbar nav a:hover,.topbar nav a.active{background:#ffffff26;color:#fff}main{padding:20px;max-width:1400px;width:100%;margin:0 auto}h1{font-size:20px;margin:0 0 16px}h2{font-size:16px;margin:24px 0 8px;display:flex;gap:12px;align-items:center}.filters{display:flex;align-items:end;gap:16px;margin-bottom:12px;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#57606a}.filters input,.filters select{padding:4px 8px;border:1px solid #d0d7de;border-radius:4px;background:#fff;font-size:13px;min-width:180px}.filters .counter{color:#57606a;font-size:12px}.grid{border-collapse:collapse;width:100%;background:#fff;border:1px solid #d0d7de;border-radius:4px}.grid th,.grid td{border-bottom:1px solid #eaeef2;padding:6px 10px;text-align:left;vertical-align:top}.grid th{background:#f6f8fa;font-weight:600;font-size:12px;color:#57606a}.grid tr:last-child td{border-bottom:none}.grid td code,.grid th code{font-size:12px}.grid td.sensitive{color:#a40e26;font-family:ui-monospace,SFMono-Regular,monospace}.status{font-weight:600}.status-success{color:#1a7f37}.status-error{color:#cf222e}.status-pending{color:#9a6700}.pager{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:13px}.pager button{padding:4px 10px;border:1px solid #d0d7de;background:#fff;border-radius:4px;cursor:pointer}.pager button:disabled{opacity:.5;cursor:not-allowed}.meta{display:grid;grid-template-columns:180px 1fr;gap:4px 12px;background:#fff;border:1px solid #d0d7de;border-radius:4px;padding:12px 16px}.meta dt{color:#57606a;font-size:12px;padding-top:2px}.meta dd{margin:0;font-size:13px}.meta .hash{color:#57606a;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.meta .download{margin-left:12px;padding:2px 8px;background:#1f7a3a;color:#fff;border-radius:4px;text-decoration:none;font-size:12px}.log{background:#0d1117;color:#e6edf3;padding:12px;border-radius:4px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow:auto}.toggle{margin-left:auto;font-size:12px;padding:2px 10px;border:1px solid #d0d7de;background:#fff;border-radius:4px;cursor:pointer}.error{background:#ffebe9;color:#82071e;border:1px solid #ffabaf;padding:8px 12px;border-radius:4px;margin-bottom:12px}.breadcrumbs{margin-bottom:12px;font-size:13px}.breadcrumbs a{color:#0969da;text-decoration:none}.splash{display:flex;align-items:center;justify-content:center;height:100vh;color:#57606a;font-size:14px}.userbox{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px}.userbox .user{color:#cbd5e1}.userbox .logout{padding:4px 10px;background:transparent;color:#cbd5e1;border:1px solid #475569;border-radius:4px;cursor:pointer;font-size:12px}.userbox .logout:hover{background:#ffffff1a;color:#fff}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f5f6f8}.login-card{background:#fff;border:1px solid #d0d7de;border-radius:8px;padding:32px;width:320px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 16px #00000014}.login-card h1{margin:0;font-size:22px;text-align:center}.login-card .muted{margin:0;text-align:center;color:#57606a;font-size:12px}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#57606a}.login-card input{padding:8px 10px;border:1px solid #d0d7de;border-radius:4px;font-size:14px}.login-card input:focus{outline:none;border-color:#0969da;box-shadow:0 0 0 2px #0969da33}.login-card button{padding:10px 16px;background:#1f7a3a;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;margin-top:8px}.login-card button:disabled{opacity:.6;cursor:not-allowed}.activate-page{max-width:920px;margin:0 auto}.activate-page h1{margin-bottom:12px}.req-mark{color:#cf222e;margin-left:2px;font-weight:700}.form-legend{margin:0 0 10px;font-size:12px;color:#57606a}.mode-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #d0d7de}.mode-tabs .tab{padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:#57606a;cursor:pointer;font-size:14px;margin-bottom:-1px}.mode-tabs .tab.active{color:#0969da;border-bottom-color:#0969da;font-weight:600}.activate-form fieldset{border:1px solid #d0d7de;border-radius:6px;padding:12px 16px 16px;margin:0 0 14px;background:#fff}.activate-form legend{padding:0 6px;font-size:12px;color:#57606a;text-transform:uppercase;letter-spacing:.05em}.activate-form .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.activate-form .grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 16px}.activate-form .span-2{grid-column:span 2}.activate-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#57606a}.activate-form input{padding:7px 9px;border:1px solid #d0d7de;border-radius:4px;font-size:13px}.activate-form input:focus{outline:none;border-color:#0969da;box-shadow:0 0 0 2px #0969da2e}.activate-form button.primary{padding:10px 18px;background:#1f7a3a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600}.activate-form button.primary:disabled{opacity:.55;cursor:not-allowed}.otp-block{margin-top:10px;background:#f6f8fa;border:1px solid #d0d7de;border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.otp-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.otp-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#57606a}.otp-row input{padding:7px 9px;border:1px solid #d0d7de;border-radius:4px;font-size:16px;letter-spacing:4px;font-family:ui-monospace,SFMono-Regular,monospace;width:140px}.otp-row button{padding:7px 14px;background:#fff;border:1px solid #d0d7de;border-radius:4px;cursor:pointer;font-size:13px}.otp-row button:disabled{opacity:.5;cursor:not-allowed}.otp-row .muted{font-size:12px;color:#57606a}.otp-verified{color:#1a7f37;font-weight:600;font-size:13px}.error.inline{background:none;border:none;padding:0;margin:0;color:#cf222e;font-size:12px}.activate-result{margin-top:18px;padding:14px 18px;background:#ddf4e4;border:1px solid #1a7f37;border-radius:6px}.activate-result h2{margin:0 0 8px;color:#1a7f37;font-size:16px}.activate-failure{margin-top:18px;padding:14px 18px;background:#ffebe9;border:1px solid #cf222e;border-radius:6px}.activate-failure h2{margin:0 0 8px;color:#82071e;font-size:16px}.activate-failure h3{margin:14px 0 6px;font-size:13px;color:#57606a;text-transform:uppercase;letter-spacing:.05em}.activate-failure .meta{background:#fff;margin-bottom:8px}.activate-failure .log{max-height:320px}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffffff5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:2000;animation:overlay-fade .25s ease-out}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.success-icon{animation:success-pop .55s cubic-bezier(.68,-.55,.265,1.55)}@keyframes success-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.success-check{stroke-dasharray:80;stroke-dashoffset:80;animation:success-draw .45s .25s ease-out forwards}@keyframes success-draw{to{stroke-dashoffset:0}}.success-text{font-size:22px;font-weight:600;color:#1a7f37;animation:text-rise .4s .3s ease-out both}.success-sub{font-size:13px;color:#57606a;animation:text-rise .4s .45s ease-out both}@keyframes text-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.grid.clickable tbody tr{cursor:pointer}.grid.clickable tbody tr:hover{background:#f6f8fa}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:40px 16px;overflow-y:auto}.modal{background:#fff;border-radius:8px;width:100%;max-width:980px;box-shadow:0 24px 60px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #d0d7de;gap:12px}.modal-header h2{margin:0;font-size:18px}.modal-actions{display:flex;align-items:center;gap:12px}.modal-permalink{font-size:12px;color:#0969da;text-decoration:none}.modal-permalink:hover{text-decoration:underline}.modal-close{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:#57606a;padding:0 4px}.modal-close:hover{color:#cf222e}.modal-body{padding:18px;overflow-y:auto;flex:1}.modal-body h3{margin:18px 0 6px;font-size:14px;display:flex;align-items:center;gap:12px}.modal-body .log{max-height:280px}.modal-body p.muted{color:#57606a;font-size:12px}.artifact{margin:10px 0;border:1px solid #d0d7de;border-radius:6px;background:#fff;padding:8px 12px}.artifact-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;font-size:13px}.artifact-head code{font-size:13px;font-weight:600}.artifact-download{margin-left:auto;padding:4px 12px;background:#0969da;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.artifact-download:hover{background:#054aa3}.artifact .log{max-height:220px}
