:root{--paper:#E9EBEC;--panel:#F4F6F7;--row: #FFFFFF;--ink: #1B2C3E;--ink-2:#243447;--ink55:rgba(27,44,62,.55);--ink35:rgba(27,44,62,.32);--blue: #1F4E79;--blue-l: #3B7CB9;--blue-p: #D5E1ED;--blue-faint:rgba(31,78,121,.18);--ok: #2D7D4A;--warn: #A07C2C;--red: #A93837;--green: #2D7D4A;--sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--mono:"Roboto Mono","JetBrains Mono",ui-monospace,monospace}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes live-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.35}}@keyframes ink-pulse{0%,to{opacity:.92}50%{opacity:1}}@keyframes stamp-drop{0%{transform:scale(1.6) rotate(-8deg);opacity:0}55%{transform:scale(.93) rotate(2deg);opacity:1}to{transform:scale(1) rotate(-2deg);opacity:1}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rowin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes placeholder-pulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(0deg,var(--blue-faint) 1px,transparent 1px),linear-gradient(90deg,var(--blue-faint) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgba(31,78,121,.06) 1px,transparent 0);background-size:28px 28px,28px 28px,28px 28px;background-position:-1px -1px,-1px -1px,0 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{color:var(--ink);letter-spacing:-.01em;margin:0 0 12px;font-family:var(--sans)}h1{font-size:28px;font-weight:700;line-height:1.18}h2{font-size:16px;font-weight:600;margin-top:30px}h3{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:.04em}a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-style:dotted}a:hover{text-decoration-style:solid}code,.mono{font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;background:#1f4e7914;padding:1px 6px;border-radius:var(--r-sm);color:var(--blue)}.muted{color:var(--ink55)}.error{color:var(--red)}.trust-bar{animation:slide-down .65s cubic-bezier(.2,.9,.3,1.05) both;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--blue);color:var(--paper);padding:10px 24px;font:600 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;border-bottom:1.5px solid var(--ink)}.trust-bar .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b7dfd0;margin-right:10px;animation:live-dot 1.6s ease-in-out infinite;vertical-align:middle}.trust-bar b{color:var(--paper);font-weight:700}.trust-bar .right{font-weight:600;letter-spacing:.14em}.app{position:relative;padding:28px 28px 64px;max-width:1180px;margin:0 auto}.app:before,.app:after,.app>.ch-bl,.app>.ch-br{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--blue);pointer-events:none}.app:before{top:14px;left:14px;border-right:none;border-bottom:none}.app:after{top:14px;right:14px;border-left:none;border-bottom:none}.app>.ch-bl{bottom:56px;left:14px;border-right:none;border-top:none}.app>.ch-br{bottom:56px;right:14px;border-left:none;border-top:none}.main{display:flex;flex-direction:column;gap:18px;position:relative}.head-bar{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border-bottom:1.5px solid var(--blue);padding-bottom:10px}.head-bar .right{white-space:nowrap}.head-bar .right a{margin-right:0 0 0 18px;text-underline-offset:3px}.page-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:760px){.app{padding:16px}.app:before,.app:after,.ch-bl,.ch-br{display:none}}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0 6px}.section-head h2{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.section-head .meta{font-size:12px;color:var(--ink55);display:inline-flex;align-items:center;gap:6px}.fig-label{display:inline-flex;align-items:center;gap:8px;font:700 10.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}.fig-label:before{content:"";width:18px;height:1.5px;background:var(--blue)}.section-rule{height:1.5px;background:var(--ink);border:none;margin:14px 0 8px;transform-origin:left;animation:rule-draw .8s cubic-bezier(.4,0,.2,1) .15s both}.stat{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font:700 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;border:1.5px solid currentColor;background:transparent;position:relative}.stat svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:2}.status-approved{color:var(--ok)}.status-revoked{color:var(--red)}.status-pending{color:var(--warn)}.status-claimed{color:var(--ink-2)}.status-expired{color:var(--ink55)}.status-rejected{color:var(--red)}.status-PASS{color:var(--ok)}.status-WARN{color:var(--warn)}.status-FAIL{color:var(--red)}.status-ok{color:var(--ok)}.status-revoked-lease{color:var(--red)}.revoked-tag{font-weight:700}button,.btn{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid transparent;border-radius:var(--r-sm);padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;line-height:1}button.primary,.btn.primary{background:var(--blue);color:var(--paper);border-color:var(--blue);box-shadow:0 1px 0 var(--ink)}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--ink);border-color:var(--ink);box-shadow:0 3px 0 var(--blue)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary,.btn.secondary{color:var(--ink);background:var(--panel);border-color:var(--border)}button.secondary:hover{border-color:var(--blue);background:var(--paper)}button.revoke-btn{color:var(--red);border-color:#a9385166;padding:6px 12px;font-size:10px;background:transparent}button.revoke-btn:hover:not(:disabled){background:var(--red);color:var(--paper);border-color:var(--red)}button.revoke-btn:disabled{opacity:.5;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:8px}.card{background:var(--panel);border:1.5px solid var(--blue);padding:18px 18px 14px;text-decoration:none;color:inherit;display:block;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;animation:rowin .45s ease both}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--blue);transform-origin:left;transform:scaleX(0);transition:transform .25s ease}.card:hover{background:var(--blue-p);transform:translateY(-2px);box-shadow:0 8px 18px -8px #1b2c3e59;border-color:var(--ink)}.card:hover:before{transform:scaleX(1)}.card .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.card .name{font:600 20px var(--sans);color:var(--ink)}.card .keyId{font:500 11.5px var(--mono);color:var(--ink55);border:1px solid var(--blue);padding:2px 6px;display:inline-block;margin-bottom:12px;font-variant-numeric:tabular-nums}.card .row{display:grid;grid-template-columns:64px 1fr;padding:4px 0;border-top:1px dashed var(--blue-faint);font:500 11.5px var(--mono)}.card .row span{color:var(--blue)}.card .row b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.card-actions{display:flex;justify-content:flex-end;margin-top:14px}.card.revoked{opacity:.55}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1.5px solid var(--blue);margin-bottom:18px}.summary>div{padding:18px 20px;border-right:1.5px solid var(--blue);background:var(--paper);position:relative}.summary>div:last-child{border-right:none}.summary .k{font:600 9.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}.summary .v{font:600 28px/1.05 var(--mono);margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.summary .v small{font-size:13px;color:var(--ink55);font-weight:400;margin-left:4px}.summary .s{font:500 11.5px var(--mono);color:var(--ink55);margin-top:6px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle;animation:live-dot 1.6s ease-in-out infinite}.verdict-strip{display:flex;gap:18px;align-items:center;padding:14px 20px;background:var(--paper);border:1.5px solid var(--ok);margin:18px 0;animation:rowin .5s ease both}.verdict-strip[data-verdict=PASS]{border-color:var(--ok)}.verdict-strip[data-verdict=WARN]{border-color:var(--warn)}.verdict-strip[data-verdict=FAIL]{border-color:var(--red)}.verdict-strip .big{font:700 24px var(--mono);letter-spacing:.06em;animation:ink-pulse 2.4s ease-in-out infinite}.verdict-strip[data-verdict=PASS] .big{color:var(--ok)}.verdict-strip[data-verdict=WARN] .big{color:var(--warn)}.verdict-strip[data-verdict=FAIL] .big{color:var(--red)}.verdict-strip .label{font:600 13px var(--sans)}.verdict-strip .sub{font:500 11.5px var(--mono);color:var(--ink55);margin-top:2px}.verdict-strip .stampbox{margin-left:auto;font:500 11px var(--mono);color:var(--ink55);letter-spacing:.06em;text-transform:uppercase}.verdict-strip .problems{margin:6px 0 0 18px;padding:0;font:500 11.5px var(--mono);color:var(--red)}.seal-block{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:18px 0 6px;padding:18px 22px;background:var(--blue-p);border:1.5px solid var(--blue)}.seal{background:var(--paper);border:1.5px solid var(--ok);padding:14px 22px;text-align:center;font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;transform:rotate(-1.5deg);color:var(--ok);animation:stamp-drop .6s cubic-bezier(.2,.9,.3,1.2) .4s both}.seal .big{display:block;font:700 22px var(--mono);margin-bottom:4px;letter-spacing:.04em;animation:ink-pulse 2.4s ease-in-out infinite}.seal .sub{display:block;font:500 9.5px var(--mono);margin-top:4px;color:var(--ink55)}.seal-block .meta{font:500 12px var(--mono);line-height:1.7;color:var(--ink)}.seal-block .meta b{font-weight:700}.seal-block .meta small{color:var(--ink55);display:block;font-size:11px;margin-top:2px}table.receipts,table.services-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:18px;border:1.5px solid var(--blue);font-family:var(--mono)}table.receipts thead th,table.services-table thead th{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--paper);text-align:left;padding:10px 12px;background:var(--blue);border-right:1px solid var(--blue-l);position:sticky;top:0}table.receipts thead th:last-child,table.services-table thead th:last-child{border-right:none}table.receipts tbody td,table.services-table tbody td{padding:12px;border-bottom:1px solid var(--blue-faint);font-size:13.5px;vertical-align:top;background:var(--paper);animation:rowin .35s ease both}table.receipts tbody tr:nth-child(odd) td,table.services-table tbody tr:nth-child(odd) td{background:#fff6}table.receipts tbody tr:hover td,table.services-table tbody tr:hover td{background:var(--blue-p)}table.receipts tbody tr:last-child td,table.services-table tbody tr:last-child td{border-bottom:none}table.receipts td.mono,table.services-table td.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}table.receipts .detail,table.services-table .detail{font-weight:600;font-family:var(--sans)}table.receipts .sub,table.services-table .sub{font-size:11px;color:var(--ink55);margin-top:3px;font-family:var(--mono)}.rail{display:inline-block;padding:3px 7px;border:1px solid var(--blue);color:var(--blue);font:700 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--panel)}.amt{text-align:right;font-family:var(--mono);font-weight:600;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.paid-stamp{display:inline-block;padding:3px 9px;border:1.5px solid var(--ok);color:var(--ok);font:700 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;transform:rotate(-2deg)}.services-register{border:1.5px solid var(--blue);margin-top:8px}.service-row{display:grid;grid-template-columns:90px 1fr 140px 100px 80px;gap:16px;padding:14px 18px;border-bottom:1px solid var(--blue-faint);align-items:baseline;background:var(--paper);font-family:var(--mono);font-size:13px;transition:background .12s}.service-row:last-child{border-bottom:none}.service-row:hover{background:var(--blue-p)}.service-row .id{font:600 11.5px var(--mono);color:var(--blue)}.service-row .url a{font:500 12.5px var(--mono)}.service-row .url .desc{font-size:11px;color:var(--ink55);margin-top:2px;font-family:var(--mono)}.search-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}input[type=search],input[type=text]{font-family:var(--mono);font-size:13px;padding:9px 14px;border:1.5px solid var(--blue);border-radius:0;background:var(--paper);color:var(--ink);min-width:280px;font-variant-numeric:tabular-nums;transition:border-color .12s,box-shadow .12s,background .12s}input[type=search]:focus,input[type=text]:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--blue-p);background:var(--panel)}input[type=search]::placeholder{color:var(--ink55);font-style:italic}.empty{background:var(--panel);border:2.5px dashed var(--blue);padding:56px 28px;text-align:center;position:relative;overflow:hidden}.empty:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(0deg,rgba(31,78,121,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(31,78,121,.12) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.empty h1{font:700 22px var(--sans);font-size:clamp(20px,3vw,28px);color:var(--ink);margin-bottom:12px;position:relative}.empty p{color:var(--ink55);margin:8px 0;position:relative}.empty pre{background:var(--paper);border:1.5px solid var(--blue);border-radius:0;padding:var(--s-3) var(--s-4);display:inline-block;text-align:left;margin-top:18px;position:relative}.empty pre code{background:transparent;padding:0;color:var(--blue)}.empty svg{display:block;margin:0 auto 14px}.empty .hint{margin-top:18px;font:500 12.5px var(--mono);color:var(--ink55);letter-spacing:.08em;text-transform:uppercase;position:relative}.loading-muted{color:var(--ink55);font-style:italic;padding:28px 0;font-family:var(--mono);font-size:13px;background:linear-gradient(90deg,var(--paper) 0%,var(--blue-p) 50%,var(--paper) 100%);background-size:200% 100%;animation:placeholder-pulse 1.6s ease-in-out infinite;text-align:center}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--blue);font:500 14px var(--sans);text-decoration:underline;text-underline-offset:3px}.back:before{content:"←"}.back:hover{color:var(--ink)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.meta-grid>div{background:var(--panel);border:1.5px solid var(--blue);padding:12px 16px;transition:background .12s,border-color .12s}.meta-grid>div:hover{background:var(--blue-p);border-color:var(--ink)}.label{display:block;color:var(--ink55);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.anno{font:500 11px var(--mono);color:var(--blue);display:flex;align-items:center;gap:6px}.anno:before{content:"↓";font-size:13px}@media(max-width:760px){.grid,.summary{grid-template-columns:1fr}.summary>div{border-right:none;border-bottom:1.5px solid var(--blue)}.summary>div:last-child{border-bottom:none}.service-row{grid-template-columns:1fr;gap:6px}.meta-grid{grid-template-columns:1fr 1fr}table.receipts,table.services-table{font-size:12.5px}h1{font-size:24px}}
