#cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:20px 0}
.login-card{min-width:0;background:var(--paper);border:2px solid var(--forest);border-radius:18px;overflow:hidden;box-shadow:0 5px 15px #24343b0c;break-inside:avoid}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--soft);border-bottom:1px solid var(--line);padding:14px 18px;font-size:13px;line-height:1.3}
.card-brand{font-weight:700;color:var(--forest);font-size:17px;flex-shrink:0}.login-card-class{text-align:right;overflow-wrap:anywhere}
.card-body{padding:16px 18px}.login-card .student-name{font-size:26px;line-height:1.2;margin:0 0 14px;overflow-wrap:anywhere}
.card-credentials{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.card-credential{min-width:0;padding:10px 12px;border:1px solid var(--line);background:white;border-radius:10px;line-height:1.2}
.credential-label{display:block;font-size:13px;color:#596c63;margin-bottom:6px}.card-username{font-size:23px;font-weight:700;overflow-wrap:anywhere}.card-code{font-size:27px;font-weight:700;letter-spacing:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.card-bottom{font-size:12px;margin-top:14px;line-height:1.5}.card-bottom a{font-size:13px;font-weight:700}.card-address{display:block;overflow-wrap:anywhere}
.legacy-card .card-credentials{grid-template-columns:1fr}.legacy-card .card-username,.legacy-card .card-code{font-size:16px;letter-spacing:0}
.student-card-actions{display:flex;gap:8px;flex-wrap:wrap}.student-bulk-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.student-bulk-controls label,.student-select{display:flex;align-items:center;gap:8px;margin:10px 0}.student-select input{width:auto}
@media(max-width:700px){#cards{grid-template-columns:1fr}.card-top{padding:12px 14px}.card-body{padding:14px}.card-credentials{gap:8px}.card-credential{padding:10px}.card-username{font-size:21px}}
@media print{
 @page{size:A4 portrait;margin:10mm}
 body{background:white;font-family:Arial,sans-serif}body>*{display:none!important}body>main{display:block!important;max-width:none;margin:0;padding:0}main>*{display:none!important}main>#cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6mm;margin:0;align-items:start}
 .login-card{min-height:60mm;border-radius:4mm;box-shadow:none;break-inside:avoid;page-break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .card-top{padding:3mm 4mm;font-size:9pt;background:#e5efea}.card-brand{font-size:12pt}.card-body{padding:3mm 4mm}.login-card .student-name{font-size:17pt;margin-bottom:3mm}.card-credential{padding:2mm 3mm}.credential-label{font-size:9pt;margin-bottom:1.5mm}.card-username{font-size:17pt}.card-code{font-size:20pt}.card-bottom{margin-top:3mm;font-size:8pt}.card-bottom a{font-size:9pt;text-decoration:none}.card-address{font-size:8pt}
 body.print-selected-batch .login-card:not([data-print-selected="true"]){display:none!important}button{display:none!important}
}

.save-existing-card{margin-top:12px;padding:12px;border:1px solid #b9c9bf;border-radius:10px;background:#f4f8f3;display:flex;flex-wrap:wrap;align-items:end;gap:10px}.save-existing-card p{flex-basis:100%;margin:0;font-size:.9rem}.save-existing-card label{margin:0}.save-existing-card input{width:110px;display:block}.save-existing-card button{width:auto}@media print{.save-existing-card{display:none!important}}
