:root{--ink:#011F26;--navy:#0A1A2E;--blue:#0E7CC0;--blue-d:#0A5F94;--cyan:#1FD3D9;--line:#9CC7D8;--soft:#EEF7FA;--card:#F7FBFD;
 --red:#D81E27;--muted:#4F6670;--radius:12px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--soft);min-height:100vh;display:flex;flex-direction:column;
 font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--blue)}
.wrap{width:100%;max-width:62rem;margin:0 auto;padding:0 1.25rem}
.top{background:linear-gradient(120deg,var(--navy) 0,var(--ink) 100%);border-bottom:3px solid var(--cyan)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.6rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:#fff;font-weight:600}
.logo{display:block;height:3rem;width:auto}
.tools{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;color:rgba(255,255,255,.85);font-size:.88rem}
.tools form{margin:0}
.seg{display:inline-flex;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.15rem;gap:.1rem}
.seg a,.seg span{font-size:.8rem;font-weight:600;line-height:1;color:rgba(255,255,255,.78);padding:.45rem .75rem;border-radius:999px;text-decoration:none}
.seg .on{background:#fff;color:var(--ink)}
main{flex:1;padding:2rem 0 3rem}
h1{font-size:1.6rem;line-height:1.25;margin:0 0 .6rem}
h2{font-size:1.1rem;margin:0 0 .8rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;margin:0 0 1.2rem}
.lead{color:var(--muted);margin:0 0 1.2rem}
.types{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.types a{display:block;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;color:var(--ink)}
.types a:hover{border-color:var(--blue)}
.types .code{display:block;font:600 .8rem/1.2 ui-monospace,Consolas,monospace;color:var(--muted)}
.btn{display:inline-block;font:inherit;font-weight:600;font-size:.88rem;border:1px solid var(--blue);background:var(--blue);color:#fff;
 padding:.55rem 1rem;border-radius:999px;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:inherit;border-color:rgba(255,255,255,.45)}
.signin{max-width:32rem;margin:2.5rem auto;text-align:center}
.btn.big{font-size:1rem;padding:.75rem 1.5rem}
.card .btn.ghost{color:var(--blue);border-color:var(--blue)}
.btn:focus-visible,a:focus-visible{outline:3px solid rgba(14,124,192,.4);outline-offset:2px}
.err{color:var(--red)}
footer{color:var(--muted);font-size:.85rem;padding:1.2rem 0}
/* document pages */
.types strong{display:block}
.types .alt{display:block;color:var(--muted);font-size:.85rem}
.types .meta{display:block;color:var(--muted);font-size:.8rem;line-height:1.4}
.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 .8rem}
.notice{background:#e7f5ea;border:1px solid #9fd3ab;color:#116329;border-radius:10px;padding:.7rem 1rem;margin:0 0 1.2rem}
.errors{background:#fbeaea;border:1px solid #e9a3a6;color:#8a2424;border-radius:10px;padding:.7rem 1rem;margin:0 0 1.2rem}
.errors p{margin:0 0 .3rem}.errors ul{margin:0;padding-left:1.2rem}.errors a{color:#8a2424}
.badge{display:inline-block;border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:600;background:#e8f1f7;color:var(--blue-d)}
.badge.issued{background:#e7f5ea;color:#116329}.badge.superseded{background:#f6f0df;color:#6e5400}.badge.revoked{background:#fbeaea;color:#8a2424}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #dbe9ef;vertical-align:top}
th{font-size:.8rem;color:var(--muted);font-weight:600}
.code{font-family:ui-monospace,Consolas,monospace}
.field{margin:0 0 1rem}
.field label{display:block;font-weight:600;margin:0 0 .3rem}
.field input[type=text],.field select,.field textarea{width:100%;max-width:40rem;font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.field input[type=file]{font:inherit}
[aria-invalid=true]{border-color:var(--red)!important;outline:1px solid var(--red)}
.req{font-weight:400;color:var(--muted);font-size:.85rem}
.hint{color:var(--muted);font-size:.85rem;margin:.3rem 0 0}
label.check{font-weight:400;display:inline-flex;gap:.5rem;align-items:flex-start}
.fact{margin:0 0 1rem}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.btn.danger{background:var(--red);border-color:var(--red)}
.card .btn.ghost.danger{color:var(--red);border-color:var(--red)}
form.inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem}
form.inline select{font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px}
.pin{border:2px solid var(--blue)}
.pin-value{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:0 0 .6rem}
.pin-value code{font:600 1.6rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em;background:var(--soft);padding:.4rem .7rem;border-radius:8px;user-select:all}
dl.facts{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr;gap:.4rem 1rem;margin:0}
dl.facts dt{color:var(--muted);font-size:.9rem}
dl.facts dd{margin:0;overflow-wrap:anywhere}
.chain{margin:0;padding-left:1.2rem}
@media (max-width:40rem){dl.facts{grid-template-columns:1fr}dl.facts dd{margin-bottom:.4rem}}
