.token-input{font-family:ui-monospace,Consolas,monospace;font-size:1.35rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ballot-card{max-width:820px;margin:28px auto;background:#fff;border:1px solid #b8bec7;box-shadow:0 8px 24px #18223018}
.ballot-card-inner{min-height:680px;display:flex;flex-direction:column}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:22px 30px;border-top:8px solid #e30613;border-bottom:1px solid #d9dde3}
.card-brand{display:flex;align-items:center;gap:12px;text-align:left}.card-brand>span:last-child{display:flex;flex-direction:column}.card-brand strong{font-size:1.1rem}.card-brand small{color:#667085}.card-confidential{font-size:.75rem;letter-spacing:.12em;font-weight:800;color:#b9000b;border:1px solid #e30613;border-radius:999px;padding:6px 10px}
.card-title{padding:30px 42px 24px;text-align:left}.card-title p{margin:0;color:#667085;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.card-title h2{font-size:2rem;line-height:1.15;margin:8px 0 0}
.card-person{margin:0 42px;padding:18px 22px;background:#f5f6f7;border-left:5px solid #e30613;display:grid;text-align:left}.card-person span{color:#667085;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.card-person strong{font-size:1.35rem;margin:3px 0}.card-person small{font-size:.95rem}
.card-access{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;padding:30px 42px;align-items:center}.card-code-panel{text-align:left}.card-code-panel>span{font-weight:700}.card-code-panel ol{padding-left:22px;margin:20px 0 0;line-height:1.8}.token-code{display:block;width:max-content;max-width:100%;padding:14px 18px;margin:8px 0;border:2px solid #202124;border-radius:8px;font-family:ui-monospace,Consolas,monospace;font-size:1.65rem;font-weight:900;letter-spacing:.1em;color:#b9000b;background:#fff;overflow-wrap:anywhere}.card-qr-panel{text-align:center}.card-qr{display:block;margin:0 auto 6px;max-width:100%;height:auto}.card-qr-panel strong{font-size:.85rem}.qr-placeholder{height:190px;border:2px dashed #aeb4bd;border-radius:10px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:#667085}.qr-placeholder strong{color:#202124}.qr-placeholder span{font-size:.8rem}
.card-footer{margin-top:auto;padding:18px 42px;background:#202124;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left}.card-footer span{font-size:.85rem;color:#d7dbe0}
.protocol-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:22px 0}.protocol-meta>div{padding:14px 16px;background:#f5f6f7;border-left:4px solid #e30613}.protocol-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:700}.protocol-meta dd{margin:4px 0 0;font-weight:800}
.protocol-document{overflow:hidden}.protocol-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;margin:-24px -24px 28px;padding:18px 24px;border-top:8px solid #e30613;border-bottom:1px solid #d9dde3;background:#fff;min-height:82px}.protocol-brand{display:flex;align-items:center;gap:13px;min-width:0}.protocol-brand>div{display:flex;flex-direction:column;min-width:0}.protocol-brand strong{font-size:1.05rem;color:#111}.protocol-brand span,.protocol-heading span{font-size:.76rem;color:#667085;letter-spacing:.04em}.protocol-header .protocol-logo{display:block!important;width:auto!important;height:auto!important;max-width:180px!important;max-height:54px!important;object-fit:contain!important;flex:0 1 auto}.protocol-header .cross{flex:0 0 36px}.protocol-heading{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:0 0 auto;padding-left:18px;border-left:2px solid #e30613}.protocol-heading strong{font-size:1.2rem;color:#202124;white-space:nowrap}.protocol-title{margin-bottom:24px}.protocol-title p{margin:0 0 5px;color:#b9000b;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.protocol-title h1{margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}
@media(max-width:600px){.protocol-header{align-items:flex-start}.protocol-heading span{display:none}.protocol-logo{max-width:120px}.protocol-heading strong{font-size:1rem}}
.brand-logo{display:block;max-width:150px;max-height:42px;width:auto;height:auto;object-fit:contain}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}.logo-preview{margin:16px 0;padding:18px;border:1px solid #d9dde3;border-radius:8px;background:#fff}.logo-preview img{display:block;max-width:280px;max-height:100px;width:auto;height:auto}.card-brand-logo{display:block;max-width:150px;max-height:48px;width:auto;height:auto;object-fit:contain}
fieldset{border:1px solid #d9dde3;border-radius:8px;padding:15px;margin:16px 0}legend{font-weight:800;padding:0 6px}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#667085;font-size:.92rem}.breadcrumb a{font-weight:700}.breadcrumb span:last-child{color:#202124}
.lead{max-width:820px;color:#667085;font-size:1.05rem}.verification-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:24px 0}.verify-card{background:#fff;border:1px solid #d9dde3;border-top:5px solid #667085;border-radius:10px;padding:20px;box-shadow:0 8px 24px #18223010}.verify-card.verify-ok{border-top-color:#18794e}.verify-card.verify-error{border-top-color:#e30613}.verify-label{display:block;color:#667085;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.verify-card>strong{display:block;margin:8px 0;font-size:1.55rem}.verify-card p{margin:0;color:#667085}.verification-details,.verification-election dl{display:grid;gap:12px}.verification-details>div,.verification-election dl>div{min-width:0}.verification-details dt,.verification-election dt{font-size:.75rem;color:#667085;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.verification-details dd,.verification-election dd{margin:5px 0 0;min-width:0}.hash-value{display:block;max-width:100%;padding:10px;background:#f5f6f7;border-radius:6px;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.verification-list{display:grid;gap:16px}.verification-election{border:1px solid #d9dde3;border-radius:9px;padding:18px;min-width:0}.verification-election header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.verification-election header>strong{font-size:1.1rem}.table-scroll{max-width:100%;overflow-x:auto}.hash-short{white-space:nowrap}.verification-note{border-left:5px solid #667085}.verification-note p{max-width:900px}
@page{size:A4 portrait;margin:12mm}
@media(max-width:700px){.card-access{grid-template-columns:1fr}.card-title,.card-access{padding-left:22px;padding-right:22px}.card-person{margin-left:22px;margin-right:22px}.card-footer{align-items:flex-start;flex-direction:column}.token-code{font-size:1.3rem}}
@media print{html,body{background:#fff}.container{padding:0;margin:0;max-width:none}.protocol-document{border:0;padding:0}.protocol-header{margin:0 0 9mm;padding:4mm 0;min-height:22mm;border-top-width:2mm}.protocol-header .protocol-logo{max-width:48mm!important;max-height:15mm!important}.protocol-brand strong{font-size:10pt}.protocol-brand span,.protocol-heading span{font-size:7pt}.protocol-heading strong{font-size:13pt}.protocol-title h1{font-size:22pt}.ballot-card{box-sizing:border-box;width:186mm;height:273mm;max-width:none;margin:0;border:1px solid #777;box-shadow:none;break-after:page;page-break-after:always}.ballot-card-inner{height:100%;min-height:0}.ballot-card:last-child{break-after:auto;page-break-after:auto}.card-title{padding-top:16mm}.card-access{padding-top:12mm}.token-code{font-size:19pt}.card-qr{width:52mm;height:52mm}}
