/* TKBadge — dossier d'émission, noir typographique / blanc papier / rouge TELEKODE */
.badge-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:0 0 1.7rem;padding-bottom:1.25rem;border-bottom:4px solid #151515}.badge-heading h1{margin:0}.badge-heading .button{white-space:nowrap}
.badge-list{padding:0!important;overflow:hidden}.badge-table-wrap{overflow-x:auto}.badge-list table{width:100%;min-width:770px;border-collapse:collapse}.badge-list th,.badge-list td{padding:.9rem .8rem;text-align:left;border-bottom:1px solid #dedbd6;vertical-align:middle}.badge-list th{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#4c4742;background:#f0eeea}.badge-list tr:hover{background:#faf8f5}.badge-list tr:last-child td{border-bottom:0}.badge-select{width:2.6rem;text-align:center!important}.badge-select input{accent-color:#a71920;width:1.05rem;height:1.05rem}.badge-identity{display:grid;gap:.2rem;min-width:11rem}.badge-identity small,.badge-date{color:#5e5852;font-size:.8rem}.badge-serial{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.78rem;letter-spacing:.02em}.badge-status{display:inline-block;border:1px solid currentColor;padding:.25rem .48rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.badge-status-valid,.badge-status-issued{color:#276044;background:#eff5ee}.badge-status-draft{color:#735512;background:#fff4cf}.badge-status-revoked,.badge-status-expired,.badge-status-suspended{color:#a71920;background:#fff0ef}.badge-actions{display:flex;flex-wrap:wrap;gap:.45rem;min-width:14rem}.badge-actions form{display:contents}.badge-actions button,.badge-actions a,.badge-detail-toggle{font:700 .73rem/1.2 inherit;color:#9d161d;background:transparent;border:0;padding:.15rem 0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.badge-actions .danger{color:#8d1016}.badge-detail-row td{padding:0;background:#f6f3ef}.badge-detail{display:grid;grid-template-columns:105px 1fr;gap:1rem;padding:1rem;max-width:690px}.badge-detail img{width:105px;height:149px;object-fit:cover;background:#ddd7d0;border:1px solid #c9c2ba}.badge-detail-copy{display:grid;align-content:center;gap:.55rem}.badge-detail-copy p{margin:0;font-size:.85rem}.badge-detail-actions{display:flex;flex-wrap:wrap;gap:.75rem}.badge-detail-actions a,.badge-detail-actions button{font:700 .78rem inherit}.badge-share-form{display:grid;grid-template-columns:1fr auto;gap:.45rem;max-width:410px;margin-top:.3rem}.badge-share-form input{min-width:0;border:1px solid #aaa29a;padding:.48rem;font:inherit}.badge-share-form button{background:#151515;color:#fff;padding:.48rem .65rem;border:0;cursor:pointer}
.badge-print-box{margin-top:1.5rem;border-left:5px solid #a71920}.badge-print-box h2{margin:.1rem 0 .35rem}.badge-sheet-form{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.badge-sheet-summary{font-size:.86rem;color:#5e5852;margin:0;flex:1}.badge-sheet-form button:disabled{opacity:.45;cursor:not-allowed}.badge-pagination{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem}.badge-pagination a{color:#9d161d;font-weight:700}
.badge-form{max-width:58rem}.badge-form fieldset{border:0;border-top:2px solid #171717;padding:1.2rem 0 1.45rem;margin:0}.badge-form legend{font-weight:800;font-size:1.05rem;letter-spacing:.02em;padding-right:.8rem}.badge-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.3rem}.badge-form label{display:grid;gap:.35rem;margin:.8rem 0;font-weight:700;font-size:.86rem}.badge-form input:not([type=checkbox]):not([type=file]),.badge-form textarea{box-sizing:border-box;width:100%;padding:.68rem;border:1px solid #aaa29a;border-radius:0;background:#fffdfa;font:inherit}.badge-form textarea{min-height:5.2rem;resize:vertical}.badge-form input:focus,.badge-form textarea:focus{outline:2px solid #a71920;outline-offset:1px}.form-help{font-size:.83rem;color:#5e5852;margin:.4rem 0}.badge-source-results{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.badge-lookup{border-top:1px solid #d5d0ca;padding-top:.7rem;min-height:2rem}.badge-lookup h3{margin:0 0 .5rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.badge-lookup button{display:block;width:100%;text-align:left;background:#f6f3ef;border:1px solid #d5d0ca;padding:.6rem;margin-bottom:.4rem;cursor:pointer;font:inherit}.badge-lookup button:hover{border-color:#a71920}.badge-lookup small{display:block;margin-top:.2rem;color:#5e5852}.badge-photo-current{display:flex;gap:.7rem;align-items:center;font-size:.85rem}.badge-photo-current img{width:64px;height:64px;object-fit:cover;border:1px solid #aaa29a}.badge-form-actions{display:flex;gap:1rem;align-items:center;margin-top:1rem}.badge-form-actions a{font-weight:700;color:#9d161d}.badge-verification{max-width:38rem;margin:3rem auto;border-top:5px solid #a71920}.badge-verification dl{display:grid;grid-template-columns:8.5rem 1fr;gap:.7rem;margin-top:1.5rem}.badge-verification dt{font-weight:800;color:#5e5852}.badge-verification dd{margin:0}.badge-verify-photo{width:126px;height:126px;object-fit:cover;border:1px solid #151515}
@media(max-width:700px){.badge-heading{display:block}.badge-heading .button{display:inline-block;margin-top:1rem}.badge-form-grid,.badge-source-results{grid-template-columns:1fr}.badge-detail{grid-template-columns:82px 1fr}.badge-detail img{width:82px;height:117px}.badge-share-form{grid-template-columns:1fr}.badge-verification dl{grid-template-columns:1fr;gap:.16rem}.badge-verification dd{margin-bottom:.7rem}}
.badge-share-fallback{display:grid;gap:.4rem;max-width:410px;margin-top:.65rem;padding:.65rem;background:#f6f3ef;border-left:3px solid #a71920}.badge-share-fallback label{display:grid;gap:.25rem;font-size:.78rem;font-weight:700}.badge-share-fallback input{box-sizing:border-box;width:100%;padding:.45rem;border:1px solid #aaa29a;background:#fff;font:inherit}.badge-share-fallback-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.badge-share-fallback-actions button,.badge-share-fallback-actions a{font:700 .76rem inherit;color:#9d161d;background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.badge-share-fallback small{color:#5e5852}
.badge-preview-error{margin:0;padding:.7rem;background:#fff0ef;border-left:3px solid #a71920;font-size:.8rem;color:#8d1016}
.badge-share-fallback[hidden]{display:none}
.badge-guided-form .badge-selection-confirmation:empty,.badge-guided-form .badge-lookup:empty{display:none}
.badge-guided-form button:disabled{opacity:.48;cursor:not-allowed}
.badge-guided-form.is-enhanced .badge-step-panel[hidden]{display:none}.badge-guided-form.is-enhanced .badge-source-ids{display:none}.badge-source-ids{margin:1rem 0;padding:.75rem;border:1px dashed #aaa29a}.badge-source-ids legend{font-size:.78rem}.badge-source-ids p{font-size:.82rem;margin:.1rem 0}.badge-consent{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:.6rem;padding:.9rem;background:#f6f3ef}.badge-consent input{margin-top:.2rem}.badge-preview-card img{min-height:290px;object-fit:contain;background:#f0eeea}
.badge-draft-cancel{margin:1rem 0}.badge-draft-cancel button{font:700 .82rem inherit;color:#8d1016;background:transparent;border:0;padding:0;text-decoration:underline;cursor:pointer}
.badge-workflow-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.badge-workflow-head h1{margin-bottom:.35rem}.badge-draft-mark{border:1px solid #a71920;color:#8d1016;padding:.35rem .6rem;font-size:.75rem;font-weight:800}.badge-steps{display:flex;gap:0;margin:1.5rem 0 1rem;padding:0;list-style:none;counter-reset:steps}.badge-steps li{display:flex;align-items:center;gap:.45rem;flex:1;color:#776f68;font-size:.76rem;font-weight:800}.badge-steps li:not(:last-child):after{content:"";height:1px;background:#c8c0b7;flex:1;margin:0 .65rem}.badge-steps b{display:grid;place-items:center;width:1.65rem;height:1.65rem;border:1px solid #aaa29a;border-radius:50%}.badge-steps .is-current,.badge-steps .is-complete{color:#8d1016}.badge-steps .is-current b,.badge-steps .is-complete b{background:#a71920;border-color:#a71920;color:#fff}.badge-step-panel{border:0!important;border-top:4px solid #151515!important}.badge-step-panel h2{font-size:1.4rem;margin:.35rem 0}.badge-step-eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#a71920}.badge-panel-actions{display:flex;gap:.8rem;align-items:center;justify-content:flex-end;margin-top:1.5rem}.badge-panel-actions a{margin-right:auto;font-weight:700;color:#9d161d}.badge-selection-confirmation,.badge-notice{margin:1rem 0;padding:.75rem .9rem;border-left:4px solid #276044;background:#eff5ee;font-size:.88rem}.badge-notice{border-color:#a71920;background:#fff4ef}.badge-notice-error{background:#fff0ef;color:#8d1016}.badge-result-card{display:grid!important;gap:.2rem;background:#f6f3ef!important}.badge-result-card strong{font-size:.9rem}.badge-result-card:disabled{opacity:.6;cursor:not-allowed}.badge-review{background:#f6f3ef;padding:1rem}.badge-review dl,.badge-summary dl{display:grid;grid-template-columns:9rem 1fr;gap:.55rem;margin:0}.badge-review dt,.badge-summary dt{font-weight:800;color:#5e5852}.badge-review dd,.badge-summary dd{margin:0}.badge-row-action{font-weight:800;color:#9d161d}.badge-detail-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:1.25rem}.badge-preview-card img{width:100%;max-width:300px;border:1px solid #c9c2ba}.badge-preview-card p{font-size:.84rem}.badge-summary h2{margin-top:0}.badge-action-stack{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.badge-action-stack form{display:inline}.badge-action-stack a:not(.button),.badge-action-stack button:not(.button){font:700 .82rem inherit;color:#9d161d;background:none;border:0;text-decoration:underline;cursor:pointer}.badge-action-stack .danger{color:#8d1016}.badge-summary hr{border:0;border-top:1px solid #dedbd6;margin:1.25rem 0}
@media(max-width:700px){.badge-workflow-head,.badge-detail-layout{display:block}.badge-draft-mark{display:inline-block;margin-top:.7rem}.badge-steps{gap:.25rem}.badge-steps li{font-size:0}.badge-steps li:not(:last-child):after{margin:0 .2rem}.badge-steps b{font-size:.76rem}.badge-panel-actions{align-items:stretch;flex-wrap:wrap}.badge-panel-actions a{width:100%;margin:0}.badge-review dl,.badge-summary dl{grid-template-columns:1fr;gap:.15rem}.badge-review dd,.badge-summary dd{margin-bottom:.55rem}}