.kes-card-public{max-width:760px;margin:24px auto;color:#172033}.kes-card-public-header{margin-bottom:18px}.kes-card-eyebrow{display:block;color:#3157d5;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kes-card-public-header h2{margin:4px 0 6px;font-size:30px}.kes-card-public-header p,.kes-card-help{color:#667085}.kes-card-box,.kes-card-status{background:#fff;border:1px solid #e1e7ef;border-radius:18px;padding:24px;box-shadow:0 3px 12px rgba(16,24,40,.05);margin-bottom:18px}.kes-card-box h3,.kes-card-status h3{margin:0 0 6px;font-size:20px}.kes-card-form{display:grid;gap:16px;margin-top:18px}.kes-card-field{display:grid;gap:7px}.kes-card-field span,.kes-card-upload-label{font-weight:600;font-size:14px}.kes-card-field em,.kes-card-upload-label span{color:#b42318;font-style:normal}.kes-card-field input[type=text],.kes-card-field input[type=date],.kes-card-field input[type=file]{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;background:#fff}.kes-card-button{border:0;border-radius:10px;padding:12px 18px;background:#3157d5;color:#fff;font-weight:700;cursor:pointer}.kes-card-notice{padding:13px 15px;border-radius:10px;margin:14px 0}.kes-card-error{background:#fff1f3;color:#b42318}.kes-card-success{background:#ecfdf3;color:#027a48}.kes-card-warning{background:#fffaeb;color:#b54708}.kes-card-data{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #eaecf0;margin-top:18px}.kes-card-data>div{padding:12px 8px;border-bottom:1px solid #eaecf0}.kes-card-data span,.kes-card-summary span{display:block;color:#667085;font-size:12px;margin-bottom:3px}.kes-card-data strong,.kes-card-summary strong{font-size:14px}.kes-card-summary{display:grid;grid-template-columns:1fr 2fr;gap:8px 14px;margin-top:16px;padding:14px;border-radius:12px;background:#f6f8fb}.kes-card-status-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;background:#eef2ff;color:#3157d5;margin-bottom:10px}.status-ditolak{background:#fff1f3;color:#b42318}.status-perlu_perbaikan{background:#fffaeb;color:#b54708}.status-disetujui,.status-diterbitkan{background:#ecfdf3;color:#027a48}@media(max-width:600px){.kes-card-box,.kes-card-status{padding:18px}.kes-card-data{grid-template-columns:1fr}.kes-card-public-header h2{font-size:26px}}

/* v1.6.134 — Photo Quality Fix */
.kes-card-review-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;object-position:center;background:#f5f7fa;border-radius:12px}
.kes-card-review-photo img{display:block;max-width:100%;height:auto}


/* v1.6.142 — Kartu Siswa final typography/template alignment */
.kes-card-preview-admin,.kes-card-preview-admin *{font-family:'Gordita',sans-serif}
/* v1.6.139 — Final preview layout refinement */
.kes-card-preview-admin{max-width:1220px}
.kes-card-preview-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:14px 0 24px}
.kes-card-preview-head h1{margin:0 0 6px}
.kes-card-preview-head p{margin:0;color:#667085}
.kes-card-preview-status{display:inline-flex;padding:7px 12px;border-radius:999px;background:#ecfdf3;color:#027a48;font-weight:700}
.kes-card-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:28px;align-items:start}
.kes-card-preview-side h2{font-size:16px;margin:0 0 10px}
.kes-card-canvas{position:relative;width:100%;max-width:480px;aspect-ratio:638/1011;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(16,24,40,.10);background:#fff}

/* v1.6.236 — Clean front template title overlay. The supplied clean Depan.png contains
   only the school artwork/logo; title text is rendered dynamically to avoid baked-in
   sample content and to keep preview/PDF output consistent. */
.kes-card-front-title{position:absolute;left:50%;top:14.6%;width:88%;transform:translateX(-50%);color:#fff;text-align:center;font-size:clamp(20px,5.7vw,36px);font-weight:900;line-height:1;letter-spacing:.005em;white-space:nowrap;z-index:3}
.kes-card-front-school{position:absolute;left:50%;top:19.55%;width:88%;transform:translateX(-50%);color:#fff;text-align:center;font-size:clamp(11px,3.7vw,24px);font-weight:900;line-height:1;letter-spacing:.005em;white-space:nowrap;z-index:3}
.kes-card-template-bg{position:absolute;inset:0;width:100%;height:100%;display:block}
.kes-card-photo-frame{position:absolute;left:25.8%;top:24.35%;width:48.6%;height:40.6%;overflow:hidden;border:7px solid #fff;border-radius:12%;background:transparent;box-sizing:border-box;box-shadow:0 1px 0 rgba(255,255,255,.6)}
.kes-card-photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;background:transparent;transform:scale(1.035);transform-origin:center top;position:relative;top:3.5%;}
/* v1.6.176 — Give the head more breathing room from the top frame; lower body may crop slightly. */
/* Front: long names wrap naturally to two centered lines when necessary. */
.kes-card-front-name{position:absolute;left:50%;top:68.0%;width:max-content;max-width:89%;transform:translateX(-50%);font-weight:800;line-height:1;color:#0c467d;text-align:center;font-size:clamp(13px,3.9vw,31px);letter-spacing:-.018em;white-space:nowrap;overflow:visible;text-overflow:clip;text-decoration:none;border-bottom:2px solid currentColor;padding:0 0 2px;box-sizing:border-box}
.kes-card-front-class{position:absolute;left:18%;top:72.5%;width:64%;font-weight:800;line-height:1.05;color:#0c467d;text-align:center;font-size:clamp(12px,2.55vw,20px);white-space:nowrap}
/* Decorative barcode + expiry intentionally share the same horizontal span as the NIS/NISN block. */
.kes-card-front-expiry{position:absolute;left:13.7%;top:77.0%;width:72.6%;height:7.9%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;color:#0c467d;text-align:center;font-weight:700;box-sizing:border-box}
.kes-card-deco-barcode{width:100%;height:62%;margin-bottom:3px;background:repeating-linear-gradient(90deg,#101010 0 2px,#fff 2px 4px,#101010 4px 5px,#fff 5px 7px,#101010 7px 10px,#fff 10px 12px,#101010 12px 13px,#fff 13px 16px);filter:contrast(1.02)}
.kes-card-front-expiry span{font-size:clamp(8px,1.38vw,11px);letter-spacing:.028em;line-height:1;white-space:nowrap;width:100%;box-sizing:border-box}
.kes-card-front-id{position:absolute;left:13.7%;width:72.6%;display:grid;grid-template-columns:28% 72%;align-items:center;color:#0c467d;font-weight:800;line-height:1}
.kes-card-front-id span{font-size:clamp(12px,2.55vw,21px)}
.kes-card-front-id strong{font-size:clamp(13px,2.65vw,21px);font-weight:900;justify-self:end;max-width:100%;white-space:nowrap;overflow:visible;text-overflow:clip;text-align:right;letter-spacing:.005em}
.kes-card-front-nis{top:88.0%}.kes-card-front-nisn{top:93.1%}.kes-card-front-nis span,.kes-card-front-nisn span{font-weight:900}
/* v1.6.208 — New back-card template. Background carries the school/principal artwork and QR strip; PHP overlays only dynamic student data, expiry and live QR. */
.kes-card-back-name{position:absolute;left:50%;top:14.0%;width:84%;transform:translateX(-50%);color:#fff;text-align:center;font-size:clamp(18px,4.7vw,31px);font-weight:900;line-height:1.05;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kes-card-back-data-clean{position:absolute;left:15%;top:22.0%;width:70%;color:#fff;font-size:clamp(12px,2.75vw,18px);line-height:1.1;font-weight:800}
.kes-card-back-data-clean>div{display:grid;grid-template-columns:45% 5% 50%;align-items:start;column-gap:0;margin-bottom:1.35%}
.kes-card-back-data-clean span{white-space:nowrap;font-weight:800}.kes-card-back-data-clean b{font-weight:800;text-align:left}.kes-card-back-data-clean strong{font-weight:800;overflow-wrap:anywhere}
.kes-card-back-address strong{line-height:1.08}
.kes-card-back-expire{position:absolute;left:37.2%;top:92.15%;width:54%;color:#101010;text-align:left;font-size:clamp(7px,1.9vw,14px);font-weight:900;letter-spacing:.06em;line-height:1.22;white-space:normal;box-sizing:border-box}
.kes-card-qr-final{position:absolute;left:8.9%;top:83.55%;width:19.7%;height:12.3%;display:block;box-sizing:border-box}
.kes-card-qr-final-box{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:1;background:#fff;border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:none;box-sizing:border-box}
.kes-card-qr-final-grid{position:absolute;inset:12%;background:linear-gradient(90deg,transparent 0 16%,#0c467d 16% 24%,transparent 24% 33%,#0c467d 33% 41%,transparent 41% 52%,#0c467d 52% 60%,transparent 60% 69%,#0c467d 69% 77%,transparent 77%),linear-gradient(transparent 0 16%,#0c467d 16% 24%,transparent 24% 33%,#0c467d 33% 41%,transparent 41% 52%,#0c467d 52% 60%,transparent 60% 69%,#0c467d 69% 77%,transparent 77%);opacity:.9}
.kes-card-qr-final-box span{position:relative;z-index:2;color:#0c467d;background:#fff;padding:1px 4px;border-radius:3px;font-size:8px;font-weight:900}
.kes-card-qr-final-label,.kes-card-qr-final-logo-wrap,.kes-card-qr-final-logo{display:none}
@media(max-width:480px){.kes-card-canvas{max-width:100%}.kes-card-photo-frame{border-width:5px}.kes-card-front-name{font-size:clamp(13px,4.3vw,24px);top:68.0%;max-width:89%}.kes-card-front-class{top:72.5%}.kes-card-back-name{top:14.0%;width:86%;font-size:clamp(17px,5vw,26px)}.kes-card-back-data-clean{font-size:clamp(10px,3vw,15px);top:22.0%;left:15%;width:70%}.kes-card-back-expire{left:37.2%;top:92.0%;width:54%;font-size:clamp(6px,2vw,11px)}.kes-card-qr-final{left:8.9%;top:83.55%;width:19.7%;height:12.3%}}
.kes-card-preview-note{margin-top:24px;padding:14px 16px;background:#f6f8fb;border:1px solid #e4e7ec;border-radius:12px;color:#475467}
@media(max-width:900px){.kes-card-preview-grid{grid-template-columns:1fr}.kes-card-preview-side{max-width:520px;margin:0 auto}.kes-card-preview-head{flex-direction:column}}
@media(max-width:480px){.kes-card-canvas{max-width:100%}.kes-card-photo-frame{border-width:5px}.kes-card-front-name{font-size:clamp(13px,4.3vw,24px);top:68.0%;max-width:89%}.kes-card-front-class{top:72.5%}.kes-card-back-data-clean{font-size:clamp(10px,3vw,15px);top:22.9%}.kes-card-back-expire{top:48.6%;width:92%;left:4%;font-size:clamp(7px,2.1vw,10px)}.kes-card-qr-final{left:10%;top:85.9%;width:80%;height:12.0%;grid-template-columns:25% 44% 25%;column-gap:3%}.kes-card-qr-final-box,.kes-card-qr-final-logo-wrap{max-width:76px;max-height:76px}.kes-card-qr-final-label{font-size:clamp(7px,2.25vw,10px);letter-spacing:.035em}}

/* v1.6.145 — automatic background removal UI */
.kes-photo-ai-status{margin-top:10px;padding:11px 13px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc;color:#475467;font-size:13px;line-height:1.45}
.kes-photo-ai-status[data-tone="working"]{background:#eff8ff;border-color:#b2ddff;color:#175cd3}
.kes-photo-ai-status[data-tone="success"]{background:#ecfdf3;border-color:#abefc6;color:#027a48}
.kes-photo-ai-status[data-tone="error"]{background:#fff1f3;border-color:#fecdca;color:#b42318}
.kes-photo-ai-preview-wrap{margin-top:12px;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;text-align:center}
.kes-photo-ai-preview-wrap>span{display:block;margin-bottom:9px;font-size:12px;font-weight:700;color:#667085}
.kes-photo-ai-preview{display:block;width:min(260px,100%);height:auto;max-height:380px;margin:0 auto;border-radius:12px;object-fit:contain;background-color:#f8fafc;background-image:linear-gradient(45deg,#eef2f6 25%,transparent 25%),linear-gradient(-45deg,#eef2f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f6 75%),linear-gradient(-45deg,transparent 75%,#eef2f6 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.kes-card-button:disabled{opacity:.58;cursor:not-allowed}

/* v1.6.160 — PDF-ready print action */
.kes-card-preview-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.kes-card-preview-head-actions{justify-content:flex-start}}

.kes-card-verification{max-width:520px;margin:30px auto;padding:0 16px;box-sizing:border-box}.kes-card-verification-box{background:#fff;border:1px solid #e1e5ea;border-radius:18px;padding:28px;text-align:center;box-shadow:0 8px 30px rgba(16,24,40,.06)}.kes-card-verification-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:28px;font-weight:800}.kes-card-verification-box h2{margin:0 0 6px;font-size:24px;color:#1d2939}.kes-card-verification-box p{margin:0 0 18px;color:#667085;line-height:1.6}.kes-card-verification-box.is-valid .kes-card-verification-icon{background:#dcfae6;color:#067647}.kes-card-verification-box.is-invalid .kes-card-verification-icon{background:#fee4e2;color:#b42318}.kes-card-verification-box.is-neutral .kes-card-verification-icon{background:#eaf8fc;color:#087b9b}.kes-card-verification-status{font-weight:700!important;color:#067647!important}.kes-card-verification-photo{display:block;width:110px;height:140px;object-fit:cover;margin:0 auto 20px;border-radius:12px;border:1px solid #e1e5ea}.kes-card-verification-data{text-align:left;border-top:1px solid #eef0f2;margin-top:4px;padding-top:8px}.kes-card-verification-data>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #eef0f2}.kes-card-verification-data span{color:#667085;font-size:12px}.kes-card-verification-data strong{text-align:right;color:#1d2939;font-size:13px}.kes-card-verification-box small{display:block;margin-top:16px;color:#98a2b3;line-height:1.5}@media(max-width:520px){.kes-card-verification-box{padding:22px}.kes-card-verification-data>div{display:block}.kes-card-verification-data strong{display:block;text-align:left;margin-top:2px}}

/* v1.6.181 — Verification page UI refinement */
.kes-card-verification{max-width:760px!important;margin:42px auto!important;padding:0 20px!important;box-sizing:border-box!important;color:#102a43!important;font-family:inherit!important}
.kes-card-verification-header{text-align:center;margin:0 auto 22px!important;max-width:680px!important}
.kes-card-verification-eyebrow{display:inline-block!important;margin-bottom:7px!important;color:#35e0f4!important;font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.kes-card-verification-header h1{margin:0 0 8px!important;font-size:clamp(30px,5vw,46px)!important;line-height:1.08!important;color:#102a43!important;font-weight:800!important}
.kes-card-verification-header p{margin:0!important;color:#667085!important;font-size:15px!important;line-height:1.6!important}
.kes-card-verification-box{background:#fff!important;border:1px solid #e4e7ec!important;border-radius:22px!important;padding:34px 38px!important;text-align:center!important;box-shadow:0 14px 40px rgba(16,24,40,.08)!important;box-sizing:border-box!important}
.kes-card-verification-status-icon{width:64px!important;height:64px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 14px!important;font-size:31px!important;font-weight:900!important;line-height:1!important}
.kes-card-verification-box.is-valid .kes-card-verification-status-icon{background:#dcfae6!important;color:#067647!important}
.kes-card-verification-box.is-invalid .kes-card-verification-status-icon{background:#fee4e2!important;color:#b42318!important}
.kes-card-verification-box.is-neutral .kes-card-verification-status-icon{background:#eaf8fc!important;color:#087b9b!important}
.kes-card-verification-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:6px 11px!important;border-radius:999px!important;background:#ecfdf3!important;color:#067647!important;font-size:11px!important;font-weight:800!important;letter-spacing:.07em!important;margin-bottom:11px!important}
.kes-card-verification-badge.is-invalid{background:#fff1f3!important;color:#b42318!important}
.kes-card-verification-box h2{margin:0 0 8px!important;font-size:28px!important;line-height:1.2!important;color:#102a43!important;font-weight:800!important}
.kes-card-verification-lead,.kes-card-verification-box>p{margin:0 auto 22px!important;max-width:560px!important;color:#667085!important;line-height:1.65!important;font-size:14px!important}
.kes-card-verification-photo{display:block!important;width:132px!important;height:166px!important;object-fit:cover!important;object-position:center top!important;margin:2px auto 14px!important;border-radius:14px!important;border:1px solid #e4e7ec!important;box-shadow:0 5px 16px rgba(16,24,40,.08)!important;background:#f8fafc!important}
.kes-card-verification-photo.is-invalid-photo{width:112px!important;height:140px!important;opacity:.96!important}
.kes-card-verification-student{display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important;margin:0 auto 20px!important}
.kes-card-verification-student strong{font-size:21px!important;line-height:1.25!important;color:#102a43!important}
.kes-card-verification-student span{font-size:14px!important;color:#667085!important;font-weight:600!important}
.kes-card-verification-data{text-align:left!important;border-top:1px solid #eef0f2!important;margin-top:4px!important;padding-top:4px!important;display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:28px!important}
.kes-card-verification-data>div{display:flex!important;flex-direction:column!important;gap:3px!important;padding:12px 0!important;border-bottom:1px solid #eef0f2!important}
.kes-card-verification-data span{color:#667085!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.kes-card-verification-data strong{text-align:left!important;color:#102a43!important;font-size:14px!important;font-weight:750!important}
.kes-card-verification-confirm{margin-top:20px!important;padding:11px 14px!important;border-radius:10px!important;background:#f0fdf4!important;color:#067647!important;font-size:12px!important;font-weight:650!important}
.kes-card-verification-reason{margin:18px auto 0!important;padding:13px 15px!important;max-width:540px!important;border-radius:11px!important;background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;font-size:13px!important;line-height:1.6!important;text-align:left!important}
.kes-card-verification-school{margin-top:20px!important;color:#98a2b3!important;font-size:11px!important;line-height:1.55!important}
.kes-card-verification-school strong{color:#667085!important;font-weight:750!important}
.kes-card-verification-box.is-invalid .kes-card-verification-school{margin-top:20px!important}
@media(max-width:640px){.kes-card-verification{margin:26px auto!important;padding:0 14px!important}.kes-card-verification-box{padding:28px 20px!important;border-radius:18px!important}.kes-card-verification-data{grid-template-columns:1fr!important;column-gap:0!important}.kes-card-verification-header h1{font-size:31px!important}.kes-card-verification-box h2{font-size:24px!important}.kes-card-verification-photo{width:120px!important;height:150px!important}}


/* v1.6.182 — Card-based verification page */
.kes-card-verification{max-width:700px!important;margin:38px auto 56px!important;padding:0 18px!important;box-sizing:border-box!important;color:#102a43!important}
.kes-card-verification-header{text-align:center!important;margin:0 auto 24px!important;max-width:620px!important}
.kes-card-verification-eyebrow{display:inline-block!important;margin-bottom:8px!important;color:#35e0f4!important;font-size:11px!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.kes-card-verification-header h1{margin:0 0 8px!important;color:#102a43!important;font-size:clamp(30px,5vw,44px)!important;line-height:1.08!important;font-weight:850!important;letter-spacing:-.035em!important}
.kes-card-verification-header p{margin:0!important;color:#667085!important;font-size:14px!important;line-height:1.6!important}
.kes-card-verification-shell{border-radius:24px!important;padding:1px!important;box-shadow:0 20px 55px rgba(16,42,67,.11)!important}
.kes-card-verification-shell.is-valid{background:linear-gradient(145deg,#35e0f4,#d8f9fc 45%,#e8fdf2)!important}
.kes-card-verification-shell.is-invalid{background:linear-gradient(145deg,#fca5a5,#fee2e2 48%,#f8fafc)!important}
.kes-card-verification-shell.is-neutral{background:linear-gradient(145deg,#35e0f4,#eaf8fc)!important}
.kes-card-verification-card{background:#fff!important;border-radius:23px!important;padding:30px 34px 24px!important;box-sizing:border-box!important}
.kes-card-verification-status-row{display:flex!important;align-items:center!important;gap:15px!important;text-align:left!important;padding-bottom:20px!important;border-bottom:1px solid #edf1f4!important}
.kes-card-verification-status-icon{flex:0 0 52px!important;width:52px!important;height:52px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:25px!important;font-weight:900!important;line-height:1!important}
.is-valid .kes-card-verification-status-icon{background:#dcfae6!important;color:#067647!important}
.is-invalid .kes-card-verification-status-icon{background:#fee4e2!important;color:#b42318!important}
.is-neutral .kes-card-verification-status-icon{background:#eaf8fc!important;color:#087b9b!important}
.kes-card-verification-status-row>div{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important}
.kes-card-verification-status-row>div>strong{font-size:22px!important;line-height:1.15!important;color:#102a43!important;font-weight:850!important}
.kes-card-verification-badge{display:inline-flex!important;align-self:flex-start!important;padding:5px 9px!important;border-radius:999px!important;background:#ecfdf3!important;color:#067647!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}
.kes-card-verification-badge.is-invalid{background:#fff1f3!important;color:#b42318!important}
.kes-card-verification-lead{margin:17px 0 18px!important;color:#667085!important;font-size:13px!important;line-height:1.6!important;text-align:left!important}
.kes-card-verification-photo-wrap{display:flex!important;justify-content:center!important;margin:4px 0 13px!important}
.kes-card-verification-photo{display:block!important;width:126px!important;height:158px!important;object-fit:cover!important;object-position:center top!important;border-radius:16px!important;border:1px solid #e4e7ec!important;box-shadow:0 8px 20px rgba(16,24,40,.10)!important;background:#f8fafc!important}
.kes-card-verification-student{text-align:center!important;margin:0 0 22px!important}
.kes-card-verification-student strong{display:block!important;color:#102a43!important;font-size:21px!important;line-height:1.25!important;font-weight:850!important}
.kes-card-verification-student span{display:block!important;margin-top:4px!important;color:#667085!important;font-size:13px!important;font-weight:700!important}
.kes-card-verification-section-title{text-align:left!important;margin:0 0 7px!important;color:#102a43!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.kes-card-verification-data{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 24px!important;border-top:1px solid #edf1f4!important;text-align:left!important}
.kes-card-verification-data>div{display:flex!important;flex-direction:column!important;gap:4px!important;padding:13px 0!important;border-bottom:1px solid #edf1f4!important}
.kes-card-verification-data span{color:#98a2b3!important;font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.kes-card-verification-data strong{color:#102a43!important;font-size:14px!important;font-weight:800!important;line-height:1.35!important}
.kes-card-verification-confirm{display:flex!important;align-items:flex-start!important;gap:11px!important;margin-top:18px!important;padding:13px 14px!important;border-radius:13px!important;background:#f0fdf4!important;color:#067647!important;text-align:left!important}
.kes-card-verification-confirm>span{width:24px!important;height:24px!important;flex:0 0 24px!important;border-radius:50%!important;background:#dcfae6!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;font-weight:900!important}
.kes-card-verification-confirm strong{display:block!important;font-size:12px!important;line-height:1.3!important}
.kes-card-verification-confirm small{display:block!important;margin-top:2px!important;color:#667085!important;font-size:11px!important;line-height:1.45!important}
.kes-card-verification-reason{display:flex!important;flex-direction:column!important;gap:5px!important;margin-top:18px!important;padding:14px 15px!important;border-radius:13px!important;text-align:left!important;font-size:12px!important;line-height:1.55!important}
.kes-card-verification-reason.is-danger{background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important}
.kes-card-verification-reason strong{font-weight:850!important}
.kes-card-verification-empty{text-align:center!important;padding:34px 12px 24px!important}
.kes-card-verification-empty h2{margin:0 0 8px!important;color:#102a43!important;font-size:23px!important;font-weight:850!important}
.kes-card-verification-empty p{max-width:480px!important;margin:0 auto!important;color:#667085!important;font-size:13px!important;line-height:1.65!important}
.kes-card-verification-footer{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:15px!important;margin-top:20px!important;padding-top:17px!important;border-top:1px solid #edf1f4!important;color:#98a2b3!important;font-size:10px!important;line-height:1.4!important}
.kes-card-verification-footer strong{color:#667085!important;font-weight:800!important}
@media(max-width:640px){.kes-card-verification{margin:24px auto 40px!important;padding:0 12px!important}.kes-card-verification-header{margin-bottom:18px!important}.kes-card-verification-header h1{font-size:31px!important}.kes-card-verification-card{padding:24px 18px 20px!important;border-radius:19px!important}.kes-card-verification-status-row{gap:11px!important}.kes-card-verification-status-icon{flex-basis:46px!important;width:46px!important;height:46px!important;border-radius:14px!important;font-size:22px!important}.kes-card-verification-status-row>div>strong{font-size:19px!important}.kes-card-verification-data{grid-template-columns:1fr!important;gap:0!important}.kes-card-verification-photo{width:116px!important;height:146px!important}.kes-card-verification-footer{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}}


/* v1.6.185 — Real QR Code generated locally from the card verification URL. */
.kes-card-qr-final-box.has-real-qr{padding:0!important;background:#fff!important}
.kes-card-qr-final-box.has-real-qr .kes-card-qr-final-grid,.kes-card-qr-final-box.has-real-qr>span{display:none!important}
.kes-card-qr-final-box .kes-card-qr-svg{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}


/* v1.6.210 — Back template final alignment */
.kes-card-back-name{top:14.0%!important;width:84%!important;font-size:clamp(17px,3.9vw,25px)!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kes-card-back-data-clean{top:22.0%!important;left:15%!important;width:70%!important;font-size:clamp(12px,2.7vw,18px)!important;line-height:1.12!important;font-weight:400!important}
.kes-card-back-data-clean>div{margin-bottom:1.35%!important}
.kes-card-back-data-clean span,.kes-card-back-data-clean b,.kes-card-back-data-clean strong{font-weight:400!important}
.kes-card-back-data-clean strong{overflow-wrap:anywhere!important}
.kes-card-back-address strong{line-height:1.08!important}
.kes-card-qr-final{position:absolute!important;left:8.9%!important;top:83.35%!important;width:82.2%!important;height:12.75%!important;display:block!important;box-sizing:border-box!important}
.kes-card-qr-final-box{position:absolute!important;left:0!important;top:0!important;width:22.5%!important;height:100%!important;aspect-ratio:1!important;background:#fff!important;border-radius:2px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-shadow:none!important;box-sizing:border-box!important}
.kes-card-qr-final-box .kes-card-qr-svg{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.kes-card-qr-final-grid,.kes-card-qr-final-box>span{display:none!important}
.kes-card-qr-divider{position:absolute!important;left:25.0%!important;top:0!important;height:100%!important;border-left:3px dotted #101010!important}
.kes-card-qr-final-label{display:block!important;position:absolute!important;left:29.2%!important;top:0!important;width:68%!important;color:#101010!important;text-align:left!important;font-size:clamp(8px,2.2vw,15px)!important;font-weight:900!important;letter-spacing:.035em!important;line-height:1.16!important;white-space:nowrap!important}
.kes-card-back-expire{position:absolute!important;left:29.2%!important;top:55%!important;width:68%!important;color:#101010!important;text-align:left!important;font-size:clamp(7px,1.9vw,13px)!important;font-weight:900!important;letter-spacing:.05em!important;line-height:1.2!important;white-space:normal!important;box-sizing:border-box!important}
@media(max-width:480px){
 .kes-card-back-name{top:14.0%!important;width:86%!important;font-size:clamp(16px,4.1vw,24px)!important}
 .kes-card-back-data-clean{top:22.0%!important;left:15%!important;width:70%!important;font-size:clamp(10px,2.8vw,14px)!important}
 .kes-card-qr-final{left:8.9%!important;top:83.35%!important;width:82.2%!important;height:12.75%!important}
 .kes-card-qr-final-box{width:22.5%!important;height:100%!important;max-width:none!important;max-height:none!important}
 .kes-card-qr-divider{left:25%!important}
 .kes-card-qr-final-label{left:29.2%!important;width:68%!important;font-size:clamp(7px,2.2vw,10px)!important}
 .kes-card-back-expire{left:29.2%!important;top:55%!important;width:68%!important;font-size:clamp(6px,2vw,10px)!important}
}


/* v1.6.213 — Back template rebuilt from supplied template: dynamic QR/label/expiry only. */
.kes-card-back-name{top:14.0%!important;left:50%!important;width:88%!important;font-size:clamp(17px,3.8vw,24px)!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;letter-spacing:.005em!important}
.kes-card-back-data-clean{top:22.0%!important;left:15%!important;width:70%!important;font-size:clamp(11px,2.75vw,18px)!important;line-height:1.12!important;font-weight:800!important}
.kes-card-back-data-clean span,.kes-card-back-data-clean b,.kes-card-back-data-clean strong{font-weight:800!important}
.kes-card-back-data-clean>div{margin-bottom:1.35%!important}
.kes-card-back-address strong{line-height:1.08!important}
.kes-card-qr-final{left:8.9%!important;top:83.35%!important;width:82.2%!important;height:12.75%!important;display:block!important}
.kes-card-qr-final-box{left:0!important;top:0!important;width:22.5%!important;height:100%!important;border-radius:2px!important;background:#fff!important}
.kes-card-qr-final-box .kes-card-qr-svg{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.kes-card-qr-divider{left:25.0%!important;top:0!important;height:100%!important;border-left:3px dotted #101010!important}
.kes-card-qr-final-label{display:block!important;left:29.2%!important;top:0!important;width:68%!important;color:#101010!important;text-align:left!important;font-size:clamp(8px,2.15vw,14px)!important;font-weight:900!important;letter-spacing:.035em!important;line-height:1.16!important;white-space:nowrap!important}
.kes-card-back-expire{left:29.2%!important;top:55%!important;width:68%!important;color:#101010!important;text-align:left!important;font-size:clamp(7px,1.85vw,12px)!important;font-weight:900!important;letter-spacing:.045em!important;line-height:1.2!important;white-space:normal!important;box-sizing:border-box!important}
@media(max-width:480px){.kes-card-back-name{top:14%!important;width:88%!important;font-size:clamp(16px,4.1vw,23px)!important}.kes-card-back-data-clean{top:22%!important;left:15%!important;width:70%!important;font-size:clamp(10px,2.8vw,14px)!important}.kes-card-qr-final{left:8.9%!important;top:83.35%!important;width:82.2%!important;height:12.75%!important}.kes-card-qr-final-label{left:29.2%!important;width:68%!important;font-size:clamp(7px,2.1vw,10px)!important}.kes-card-back-expire{left:29.2%!important;top:55%!important;width:68%!important;font-size:clamp(6px,1.95vw,10px)!important}}

/* v1.6.215 — FINAL BACK CARD LAYOUT / exact supplied template coordinates. */
.kes-card-canvas{container-type:inline-size}
.kes-card-canvas.is-back .kes-card-back-name{
  top:14%!important;left:50%!important;width:86%!important;
  font-size:clamp(16px,3.75cqw,24px)!important;
  font-weight:900!important;line-height:1.05!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  letter-spacing:.005em!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean{
  top:22%!important;left:15%!important;width:70%!important;
  font-size:clamp(10px,2.75cqw,17.5px)!important;
  line-height:1.12!important;font-weight:800!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean span,
.kes-card-canvas.is-back .kes-card-back-data-clean b,
.kes-card-canvas.is-back .kes-card-back-data-clean strong{font-weight:800!important}
.kes-card-canvas.is-back .kes-card-back-data-clean>div{margin-bottom:1.35%!important}
.kes-card-canvas.is-back .kes-card-back-address strong{line-height:1.08!important}

/* The lower frame in TEMPLATE(4).png is 57..582 x 847..970 on a 637x1011 canvas. */
.kes-card-canvas.is-back .kes-card-qr-final{
  position:absolute!important;left:8.95%!important;top:83.78%!important;
  width:82.1%!important;height:12.17%!important;display:block!important;
  box-sizing:border-box!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-box{
  left:0!important;top:0!important;width:23.9%!important;height:100%!important;
  aspect-ratio:1/1!important;background:#fff!important;border-radius:2px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;box-sizing:border-box!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-box .kes-card-qr-svg{
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-grid,
.kes-card-canvas.is-back .kes-card-qr-final-box>span{display:none!important}
.kes-card-canvas.is-back .kes-card-qr-divider{
  position:absolute!important;left:28.65%!important;top:0!important;height:100%!important;
  border-left:3px dotted #101010!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-label{
  display:block!important;position:absolute!important;
  left:34.4%!important;top:-.2%!important;width:61%!important;
  color:#101010!important;text-align:left!important;
  font-size:clamp(10px,2.51cqw,16px)!important;
  font-weight:900!important;letter-spacing:.035em!important;line-height:1.16!important;
  white-space:nowrap!important;
}
.kes-card-canvas.is-back .kes-card-back-expire{
  position:absolute!important;left:34.4%!important;top:69.0%!important;width:61%!important;
  color:#101010!important;text-align:left!important;
  font-size:clamp(8px,2.04cqw,13px)!important;
  font-weight:900!important;letter-spacing:.045em!important;line-height:1.2!important;
  white-space:normal!important;box-sizing:border-box!important;
}


/* v1.6.216 — Final back-card cleanup: use template divider/label; enlarge student name. */
.kes-card-back-name{
    top:14.0%!important;
    width:90%!important;
    font-size:clamp(21px,5.2vw,31px)!important;
    line-height:1.02!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
}
/* The supplied blank template already contains the dotted separator and QR instruction text.
   Do not paint a second divider/label over it. */
.kes-card-qr-divider{display:none!important}
.kes-card-qr-final-label{display:none!important}
/* Align QR with the white QR placeholder in the supplied template. */
.kes-card-qr-final{
    left:8.9%!important;
    top:83.35%!important;
    width:82.2%!important;
    height:12.75%!important;
}
.kes-card-qr-final-box{
    left:0!important;
    top:0!important;
    width:22.5%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    aspect-ratio:1!important;
    background:#fff!important;
    overflow:hidden!important;
}
.kes-card-qr-final-box .kes-card-qr-svg{
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block!important;
}
.kes-card-back-expire{
    left:29.2%!important;
    top:55%!important;
    width:68%!important;
    font-size:clamp(8px,2.0vw,13px)!important;
    line-height:1.18!important;
}
@media(max-width:480px){
    .kes-card-back-name{top:14%!important;width:90%!important;font-size:clamp(20px,5.0vw,28px)!important}
    .kes-card-qr-final{left:8.9%!important;top:83.35%!important;width:82.2%!important;height:12.75%!important}
    .kes-card-qr-final-box{width:22.5%!important;height:100%!important}
    .kes-card-back-expire{left:29.2%!important;top:55%!important;width:68%!important;font-size:clamp(7px,2.0vw,11px)!important}
}


/* v1.6.217 — Back-card typography refinement: full name when it fits, otherwise agreed abbreviation. */
.kes-card-canvas.is-back .kes-card-back-name{
  top:16%!important;
  left:50%!important;
  width:88%!important;
  font-size:clamp(22px,6.7cqw,32px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:.005em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  transform:translateX(-50%)!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean{
  top:22%!important;
  left:15%!important;
  width:70%!important;
  font-size:clamp(11.5px,2.9cqw,18.5px)!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean>div{margin-bottom:1.35%!important}
@media(max-width:480px){
  .kes-card-canvas.is-back .kes-card-back-name{top:16%!important;width:88%!important;font-size:clamp(21px,6.8cqw,30px)!important}
  .kes-card-canvas.is-back .kes-card-back-data-clean{font-size:clamp(11px,3.0cqw,16px)!important}
}


/* v1.6.223 — Front-card class vertical balance. Keep the class visually centered between the name underline and decorative barcode. */
.kes-card-canvas.is-front .kes-card-front-class{
  top:73.0%!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-front .kes-card-front-class{top:73.0%!important}
}

.kes-card-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
.kes-card-form input[type="email"]{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#101828;font:inherit}
.kes-card-form input[type="email"]:focus{outline:2px solid rgba(53,224,244,.28);border-color:#35e0f4}

/* v1.6.226 — Public application footer/recommendation refinement. */
.kes-card-photo-recommendation{margin-top:-6px!important;margin-bottom:0!important;color:#475467!important}
.kes-card-photo-recommendation strong{color:#175cd3!important}
.kes-card-public .kes-card-verification-footer{margin-top:20px!important;margin-bottom:0!important}


/* v1.6.230 — Final template micro-adjustments. */
.kes-card-canvas.is-front .kes-card-front-class{
  top:73.0%!important;
  line-height:1!important;
  padding-top:2px!important;
  box-sizing:border-box!important;
}
.kes-card-canvas.is-back .kes-card-back-name{
  top:16.5%!important;
}
.kes-card-headmistress{
  position:absolute!important;
  left:50%!important;
  top:72.9%!important;
  width:62%!important;
  transform:translateX(-50%)!important;
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(9px,2.2vw,15px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-front .kes-card-front-class{top:73.0%!important;padding-top:2px!important}
  .kes-card-canvas.is-back .kes-card-back-name{top:16.5%!important}
  .kes-card-headmistress{top:72.9%!important;font-size:clamp(8px,2.2vw,11px)!important}
}


/* v1.6.232 — Student card wording and final back-side spacing refinement. */
.kes-card-canvas.is-back .kes-card-back-name{
  top:16.5%!important;
}
.kes-card-canvas.is-back .kes-card-headmistress{
  top:72.9%!important;
}
.kes-card-canvas.is-back .kes-card-headmistress-name{
  position:absolute!important;
  left:50%!important;
  top:75.15%!important;
  width:90%!important;
  transform:translateX(-50%)!important;
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(9px,2.6cqw,14.7px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-label{
  top:4%!important;
}
.kes-card-canvas.is-back .kes-card-back-expire{
  top:52%!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-back .kes-card-headmistress-name{
    top:75.15%!important;
    width:90%!important;
    font-size:clamp(8.5px,2.4cqw,12.74px)!important;
  }
  .kes-card-canvas.is-back .kes-card-qr-final-label{top:4%!important}
  .kes-card-canvas.is-back .kes-card-back-expire{top:52%!important}
}

/* v1.6.233 — Student card back-side spacing and validity typography refinement. */
.kes-card-canvas.is-back .kes-card-back-name{
  top:16.5%!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean{
  top:25.5%!important;
}
.kes-card-canvas.is-back .kes-card-back-expire{
  top:60%!important;
  font-size:clamp(10px,2.51cqw,16px)!important;
  line-height:1.16!important;
  letter-spacing:.035em!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-back .kes-card-back-name{top:16.5%!important}
  .kes-card-canvas.is-back .kes-card-back-data-clean{top:25.5%!important}
  .kes-card-canvas.is-back .kes-card-back-expire{
    top:60%!important;
    font-size:clamp(7px,2.2cqw,10px)!important;
    line-height:1.16!important;
  }
}



/* v1.6.234 — Front photo fill correction: remove the vertical offset that exposed
   the template's underlying sample photo at the bottom of the live photo frame. */
.kes-card-canvas.is-front .kes-card-photo-frame img{
  top:0!important;
  transform:scale(1.06)!important;
  transform-origin:center top!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-front .kes-card-photo-frame img{
    top:0!important;
    transform:scale(1.06)!important;
    transform-origin:center top!important;
  }
}


/* v1.6.239 — Front title/subtitle breathing room. Keep the title position and font sizes,
   but move the school subtitle down slightly to create a cleaner visual gap. */
.kes-card-canvas.is-front .kes-card-school-gap-fix{}
.kes-card-canvas.is-front .kes-card-front-school{top:19.55%!important}
@media(max-width:480px){
  .kes-card-canvas.is-front .kes-card-front-school{top:19.55%!important}
}

/* v1.6.240 — Back-card typography balance: reduce student name by 10% and enlarge student data by 5%. */
.kes-card-canvas.is-back .kes-card-back-name{
  font-size:clamp(19.8px,6.03cqw,28.8px)!important;
}
.kes-card-canvas.is-back .kes-card-back-data-clean{
  font-size:clamp(12.1px,3.045cqw,19.43px)!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-back .kes-card-back-name{font-size:clamp(18.9px,6.12cqw,27px)!important}
  .kes-card-canvas.is-back .kes-card-back-data-clean{font-size:clamp(11.55px,3.15cqw,16.8px)!important}
}

/* v1.6.245 — Keep validity text fixed; lower verification label for balanced top/bottom padding. */
.kes-card-canvas.is-back .kes-card-back-expire{
  top:56.5%!important;
}
.kes-card-canvas.is-back .kes-card-qr-final-label{
  top:9%!important;
}
@media(max-width:480px){
  .kes-card-canvas.is-back .kes-card-back-expire{
    top:56.5%!important;
  }
  .kes-card-canvas.is-back .kes-card-qr-final-label{
    top:9%!important;
  }
}

/* v1.6.247 — Enlarge the real QR artwork within the existing white QR box; quiet zone remains part of the SVG. */
.kes-card-canvas.is-back .kes-card-qr-final-box .kes-card-qr-svg{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}


/* v1.6.248 — Unified student-name typography. Keep front/back names on the same
   Gordita family/weight treatment while preserving their established positions. */
.kes-card-canvas.is-front .kes-card-front-name.kes-card-name-unified{
  font-weight:900!important;
  letter-spacing:.005em!important;
}


/* v1.6.249 — Scalable admin/operator student-card workflow UI. */
.kes-student-card-admin .kes-card-admin-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:18px 0}
.kes-student-card-admin .kes-card-summary-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:13px 14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.kes-student-card-admin .kes-card-summary-card strong{display:block;font-size:21px;line-height:1.1;color:#1d2327}.kes-student-card-admin .kes-card-summary-card span{display:block;color:#646970;margin-top:4px;font-size:12px}
.kes-card-status-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}.kes-card-status-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dcdcde;border-radius:999px;background:#fff;text-decoration:none;color:#1d2327}.kes-card-status-tab span{font-size:11px;background:#f0f0f1;border-radius:999px;padding:2px 6px}.kes-card-status-tab.is-active{border-color:#2271b1;background:#f0f6fc;color:#135e96;font-weight:600}
.kes-card-admin-filter{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:14px;margin-bottom:16px}.kes-card-admin-filter form{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .7fr auto;gap:10px;align-items:end}.kes-card-admin-filter label,.kes-card-bulk-box label{display:block;font-size:12px;margin-bottom:5px}.kes-card-admin-filter input,.kes-card-admin-filter select,.kes-card-bulk-box select{width:100%}.kes-card-filter-actions{white-space:nowrap}
.kes-card-bulk-box{display:flex;justify-content:space-between;gap:20px;align-items:end;background:#f6f7f7;border:1px solid #dcdcde;border-left:4px solid #2271b1;border-radius:8px;padding:15px 16px;margin:0 0 16px}.kes-card-bulk-box h2{font-size:15px;margin:0 0 5px}.kes-card-bulk-box p{margin:0;color:#646970;max-width:700px}.kes-card-bulk-box form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;min-width:430px}.kes-card-bulk-box form label{min-width:175px}.kes-card-bulk-box button{white-space:nowrap}
.kes-card-table-meta{margin:10px 0;color:#646970}.kes-card-table-wrap{overflow:auto}.kes-card-admin-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;white-space:nowrap;background:#f0f0f1}.kes-card-admin-status.status-diajukan,.kes-card-admin-status.status-menunggu_verifikasi{background:#fff8e5;color:#996800}.kes-card-admin-status.status-perlu_perbaikan{background:#fff4e5;color:#9a6700}.kes-card-admin-status.status-disetujui,.kes-card-admin-status.status-diterbitkan,.kes-card-admin-status.status-dicetak{background:#edfaef;color:#176b2c}.kes-card-admin-status.status-nonaktif{background:#f0f0f1;color:#50575e}.kes-card-admin-status.status-ditolak{background:#fbeaea;color:#b32d2e}
@media (max-width:1100px){.kes-student-card-admin .kes-card-admin-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.kes-card-admin-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}.kes-card-filter-actions{grid-column:1/-1}.kes-card-bulk-box{display:block}.kes-card-bulk-box form{margin-top:12px;min-width:0}}
@media (max-width:600px){.kes-student-card-admin .kes-card-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kes-card-admin-filter form{grid-template-columns:1fr}.kes-card-bulk-box form{display:grid;grid-template-columns:1fr}.kes-card-bulk-box form label{min-width:0}}

/* v1.6.250 — Use summary cards as the sole status navigation; remove duplicated pill tabs. */
.kes-student-card-admin .kes-card-summary-link{display:block;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.kes-student-card-admin .kes-card-summary-link:hover{border-color:#2271b1;box-shadow:0 2px 6px rgba(0,0,0,.08);transform:translateY(-1px)}
.kes-student-card-admin .kes-card-summary-link:focus-visible{outline:2px solid #2271b1;outline-offset:2px}
.kes-student-card-admin .kes-card-summary-link.is-active{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1 inset;background:#f0f6fc}
.kes-student-card-admin .kes-card-summary-link.is-active strong,.kes-student-card-admin .kes-card-summary-link.is-active span{color:#135e96}

/* v1.6.252 — FARGO DTC1250e single-side card print engine. */
.kes-student-card-print-builder{max-width:1180px}
.kes-card-print-builder-box{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px;margin:18px 0}.kes-card-print-builder-box form{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:end}.kes-card-print-builder-box label{display:block;font-weight:600;font-size:12px;margin-bottom:5px}.kes-card-print-builder-box select{width:100%}
.kes-card-print-summary{display:flex;align-items:baseline;gap:10px;background:#f0f6fc;border:1px solid #b6d7f2;border-radius:10px;padding:16px 18px;margin:16px 0}.kes-card-print-summary strong{font-size:28px;color:#135e96}.kes-card-print-summary span{font-weight:700}.kes-card-print-summary small{margin-left:auto;color:#646970}
.kes-card-print-selection{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px}.kes-card-print-side-choice{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e2e4e7}.kes-card-print-side-choice label{font-weight:700}.kes-card-print-select-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}.kes-card-print-select-actions span{color:#646970;font-size:12px}.kes-card-print-list{overflow:auto;margin-bottom:16px}.kes-card-print-list table td,.kes-card-print-list table th{vertical-align:middle}
.kes-card-print-toolbar{max-width:1180px;margin:24px auto 14px;padding:0 20px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.kes-card-print-toolbar h1{margin:12px 0 4px}.kes-card-print-toolbar p{margin:0;color:#646970}.kes-card-print-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kes-print-completed-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#edfaef;color:#176b2c;font-weight:700}.kes-card-print-instructions{max-width:1180px;margin:0 auto 18px;padding:12px 16px;background:#fff8e5;border:1px solid #f0d98a;border-radius:8px;display:flex;gap:12px;align-items:baseline}.kes-card-print-instructions strong{white-space:nowrap}.kes-card-print-instructions span{color:#646970;font-size:12px}
.kes-card-print-document{display:block;margin:0 auto}.kes-card-print-item{width:53.98mm;height:85.60mm;position:relative;margin:0 auto;page-break-after:always;break-after:page;overflow:hidden;background:#fff}.kes-card-print-item:last-child{page-break-after:auto;break-after:auto}.kes-card-print-item .kes-card-canvas{width:53.98mm!important;height:85.60mm!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}.kes-card-print-item .kes-card-preview-side{margin:0!important}.kes-card-print-sequence{font-family:Arial,sans-serif;font-size:10px;line-height:1.3;margin-bottom:5px}
.kes-card-print-item .kes-card-template-bg{width:100%!important;height:100%!important}.kes-card-print-item .kes-card-front-title{font-size:clamp(20px,5.7cqw,36px)}
.kes-card-print-item .kes-card-photo-frame img{transform:scale(1.06)!important}
@page{size:53.98mm 85.60mm;margin:0}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body>*:not(.kes-card-print-admin){display:none!important}
  .kes-card-print-admin{margin:0!important;padding:0!important}
  .kes-card-print-toolbar,.kes-card-print-instructions,.no-print,.kes-card-print-sequence{display:none!important}
  .kes-card-print-document{margin:0!important;padding:0!important;width:53.98mm!important}
  .kes-card-print-item{margin:0!important;width:53.98mm!important;height:85.60mm!important;page-break-after:always!important;break-after:page!important;box-shadow:none!important}
  .kes-card-print-item:last-child{page-break-after:auto!important;break-after:auto!important}
  .kes-card-print-item .kes-card-canvas{width:638px!important;height:1011px!important;max-width:none!important;aspect-ratio:638/1011!important;transform:scale(0.3197492)!important;transform-origin:top left!important;border-radius:0!important;box-shadow:none!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
@media(max-width:700px){.kes-card-print-builder-box form{grid-template-columns:1fr}.kes-card-print-summary{display:block}.kes-card-print-summary small{display:block;margin:5px 0 0}.kes-card-print-toolbar{display:block}.kes-card-print-actions{margin-top:12px}.kes-card-print-instructions{display:block}.kes-card-print-instructions span{display:block;margin-top:5px}}
.kes-card-print-history{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px;margin:18px 0}.kes-card-print-history h2{margin:0 0 12px;font-size:16px}.kes-card-print-history-table{overflow:auto}.kes-card-print-history small{color:#646970}
