/* ID Card Register frontend */
.icr-registration{max-width:900px;margin:20px auto;padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.05)}
.icr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.icr-field.full{grid-column:1/-1}
.icr-field label{display:block;font-weight:600;margin-bottom:6px}
.icr-field input:not([type=radio]),.icr-field textarea,.icr-field select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbd5e1;border-radius:7px}
.icr-field .icr-radios label{display:inline-flex;gap:6px;align-items:center;font-weight:400;margin-right:14px}
.icr-field textarea{min-height:90px}
.icr-help{display:block;color:#64748b;margin-top:4px}
.icr-submit,.icr-print-controls button{border:0;border-radius:7px;padding:11px 18px;background:#123b6d;color:#fff;cursor:pointer}
.icr-print-controls button:disabled{opacity:.6;cursor:default}
.icr-notice{padding:12px;margin:15px 0;border-radius:7px}.icr-notice.success{background:#ecfdf5;color:#065f46}.icr-notice.error{background:#fef2f2;color:#991b1b}
.icr-public-card-page{background:#f1f5f9;padding:30px;text-align:center}
.icr-print-controls{margin-top:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

.icr-card-pair{display:flex;flex-wrap:wrap;gap:6mm;justify-content:center;align-items:flex-start}

/* ---- Card canvas: every element is absolutely positioned in mm ---- */
.icr-card{width:54mm;height:85.6mm;box-sizing:border-box;position:relative;overflow:hidden;margin:0 auto;background-color:var(--icr-card-bg);color:var(--icr-text);font-family:var(--icr-font);font-size:var(--icr-body);border:0.25mm solid var(--icr-border);border-radius:var(--icr-radius);box-shadow:0 3px 18px rgba(15,23,42,.15);background-repeat:no-repeat;text-align:left;line-height:1.2;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.icr-card *{box-sizing:border-box}
.icr-exporting .icr-card{box-shadow:none}
.icr-square .icr-card{border-radius:0!important}

.icr-el{position:absolute;display:flex;flex-direction:column;overflow:hidden;line-height:1.2;margin:0;padding:0;border:0 solid transparent;min-width:0}

/* Shapes (header/footer bands follow the chosen style) */
.icr-role-header{background:var(--icr-primary)}
.icr-role-footer{background:var(--icr-secondary)}
.icr-card.minimal .icr-role-header{background:transparent;border-bottom:.6mm solid var(--icr-primary)}
.icr-card.minimal .icr-role-footer{background:var(--icr-primary)}
.icr-card.institutional .icr-role-header{background:var(--icr-secondary)}
.icr-card.institutional .icr-role-footer{background:var(--icr-primary)}

/* Text */
.icr-txt{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.icr-src-organization,.icr-src-subtitle{color:#fff;line-height:1.1}
.icr-src-subtitle{letter-spacing:.2mm;opacity:.92}
.icr-card.minimal .icr-src-organization,.icr-card.minimal .icr-src-subtitle{color:var(--icr-primary)}
.icr-src-name{font-size:var(--icr-name-size);line-height:1.05}
.icr-src-back_title{color:var(--icr-primary)}
.icr-src-back_text{line-height:1.35}
.icr-src-back_contact{color:var(--icr-muted);line-height:1.3}

/* Field lines: label + value */
.icr-t-field{font-weight:400}
.icr-frow{display:flex;gap:1mm;align-items:baseline;width:100%;min-width:0}
.icr-fl{flex:0 0 auto;color:var(--icr-muted);font-size:.8em;font-weight:400;font-style:normal;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icr-fv{flex:1 1 auto;min-width:0;font-weight:inherit;white-space:normal;overflow-wrap:anywhere}
.icr-underline{border-bottom:.15mm solid rgba(100,116,139,.2)}

/* Images */
.icr-img{width:100%;height:100%;background-repeat:no-repeat;background-position:center}
.icr-ph{margin:auto;font-size:2mm;font-weight:700;color:#94a3b8;letter-spacing:.2mm}
.icr-t-photo{border:.5mm solid var(--icr-primary);border-radius:1.5mm;background:#e2e8f0}
.icr-card.institutional .icr-t-photo{border-color:var(--icr-accent)}
.icr-t-logo{background:#fff;border-radius:1mm;padding:.6mm}
.icr-t-qr{background:#fff;padding:.4mm}
.icr-t-qr img,.icr-t-qr canvas{width:100%!important;height:100%!important;image-rendering:pixelated}
.icr-t-barcode{background:transparent}
.icr-t-barcode.icr-bc-quiet{background:#fff}
.icr-t-barcode .icr-barcode{flex:1 1 auto;min-height:0}
.icr-bc-text{flex:0 0 auto;text-align:center;font-size:1.8mm;line-height:1.15;letter-spacing:.35mm;font-family:ui-monospace,Menlo,Consolas,monospace;color:#000;padding-top:.3mm}
.icr-barcode{width:100%!important;height:100%!important;display:block}

/* Signature */
.icr-t-signature{justify-content:flex-end}
.icr-sig-img{flex:1 1 auto;min-height:0;width:100%}
.icr-sig-line{display:block;border-top:.3mm solid var(--icr-muted);width:80%;margin:.5mm auto 1mm;flex:0 0 auto}
.icr-sig-label{font-size:1.7mm;color:var(--icr-muted);flex:0 0 auto}

@media(max-width:650px){.icr-form-grid{grid-template-columns:1fr}.icr-field.full{grid-column:auto}}
@media print{
 body:has(.icr-public-card-page){background:#fff!important}
 body:has(.icr-public-card-page) *{visibility:hidden}
 body:has(.icr-public-card-page) .icr-public-card-page,body:has(.icr-public-card-page) .icr-public-card-page *{visibility:visible}
 .icr-public-card-page{position:absolute;left:0;top:0;padding:0!important;background:#fff!important}
 .icr-card{box-shadow:none!important}
 .icr-public-card-page .icr-card{margin:0!important}
 .icr-public-card-page .icr-card-pair{display:block}
 .icr-public-card-page .icr-card-pair>.icr-card:first-child{page-break-after:always}
 .icr-print-controls{display:none!important}
}
