@font-face{font-family:IdentityTajawal;src:url('Tajawal-Regular.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:IdentityTajawal;src:url('Tajawal-Bold.woff') format('woff');font-display:swap;font-weight:700 900}
.account-identity-strip{background:#fff;border-bottom:1px solid #d9e6f6}.account-identity-content{display:flex;align-items:center;gap:13px;min-height:82px;padding-block:12px}.account-identity-content img,.account-initial{width:49px;height:49px;border-radius:15px;object-fit:cover;border:2px solid #ddeaff;background:#eaf2fc;display:grid;place-items:center;color:#1455aa;font-size:23px;font-weight:700}.account-identity-content strong{display:block;color:#0d315d;font-size:18px}.account-identity-content small{display:block;color:#506681;font-size:14px}.account-points{margin-inline-start:auto;display:flex;align-items:center;gap:7px;border-radius:13px;padding:8px 16px;background:#eef5ff;color:#12488a}.account-points b{font:700 22px sans-serif}
.identity-luxe-stage{padding:28px 12px}.digital-identity.identity-luxe{width:340px;max-width:100%;height:554px;perspective:1400px;border:0;padding:0;background:none;color:#11345b;font-family:IdentityTajawal,var(--font);border-radius:25px;box-shadow:0 25px 65px #16447828;display:block;margin:auto;text-align:center;cursor:pointer}.identity-luxe .identity-inner{height:100%;width:100%;display:block;position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.identity-luxe[aria-pressed=true] .identity-inner{transform:rotateY(180deg)}
.identity-luxe .identity-face{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;border-radius:25px;backface-visibility:hidden;overflow:hidden;border:1px solid #cbdcf1;padding:24px 23px 16px;background:radial-gradient(ellipse at 5% 10%,#cce0ff99,transparent 44%),linear-gradient(145deg,#fff 15%,#f2f5fa 62%,#e7f1ff);box-sizing:border-box}.identity-luxe .identity-front:before{content:'';position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(#74b4ff,#1461c6,#0b2d61)}.identity-luxe .identity-front:after{content:'';position:absolute;width:165px;height:165px;border:1px solid #95bce556;transform:rotate(45deg);left:-126px;bottom:81px;pointer-events:none}.identity-geometry{position:absolute;width:210px;height:210px;right:-152px;top:160px;transform:rotate(45deg);border:1px solid #c8a72d59}.identity-company{position:relative;display:flex!important;align-items:center;gap:11px;width:100%;justify-content:center;text-align:start;flex-shrink:0}.identity-company img{width:50px!important;height:39px!important;object-fit:contain}.identity-company strong{color:#11345b!important;font-size:24px!important;line-height:1.4;font-weight:800}.identity-company small{display:block!important;color:#54708f!important;font:8px sans-serif;letter-spacing:2px;margin-top:3px}.identity-luxe .identity-type{display:block;margin:16px 0 17px;padding:4px 15px;border-radius:20px;border:1px solid #bdd2ee;background:#edf4ff;color:#245f9c;font-size:12px;letter-spacing:0;line-height:1.6}
.identity-photo-frame{display:block;position:relative;width:151px;height:174px;flex-shrink:0;background:#fff;border:1px solid #c9d9ed;border-radius:22px;padding:6px;box-shadow:0 9px 25px #1a47701c}.identity-luxe .identity-photo{width:100%!important;height:100%!important;object-fit:cover;border:0!important;border-radius:17px!important;margin:0!important;display:block!important;box-shadow:none}.identity-luxe .identity-placeholder{background:linear-gradient(135deg,#ddeafb,#97bdf0);display:grid!important;place-items:center;color:#195391;font-size:67px;font-weight:600}.identity-photo-accent{position:absolute;bottom:12px;right:-8px;width:24px;height:24px;background:#e8bd1d;transform:rotate(45deg);border:3px solid #fff;border-radius:2px;box-shadow:0 2px 7px #b9932022}.identity-luxe .identity-name{display:block;margin:17px 0 5px;font-size:23px!important;line-height:1.4!important;color:#0c315e;font-weight:800;max-width:100%;overflow-wrap:anywhere}.identity-position{font-size:17px;color:#1761a9;font-weight:700;line-height:1.45;max-width:100%;overflow-wrap:anywhere}.identity-department{font-size:13px;margin-top:4px;color:#587087;line-height:1.5}.identity-luxe .identity-serial{display:flex;width:100%;justify-content:center;align-items:center;gap:13px;padding:10px 0 8px;margin-top:auto;color:#526b83}.identity-serial small{font-size:11px}.identity-serial b{font:700 24px sans-serif;color:#144c86;letter-spacing:3px}.identity-luxe .identity-valid{display:block;margin:0;color:#345d87;background:#e6effa;border:1px solid #ccddef;border-radius:20px;padding:4px 15px;font-size:11px;line-height:1.8}.identity-valid.is-valid:before{content:'●';color:#247454;margin-inline-end:7px}.identity-front-footer{font:8px sans-serif;letter-spacing:3px;color:#62738b;margin-top:12px}
.identity-luxe .identity-back{transform:rotateY(180deg);background:linear-gradient(160deg,#fcfdff,#e6f0ff)}.identity-back:before{content:'';position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#103d7b,#569bea,#e9c426)}.identity-back-brand{display:flex;align-items:center;gap:7px;margin:5px 0 0}.identity-back-brand img{width:31px;height:26px;object-fit:contain}.identity-back-brand strong{font:700 12px sans-serif;letter-spacing:1px;color:#123f76}.identity-back .identity-type{margin-top:18px;margin-bottom:15px}.identity-luxe .identity-qr,.identity-qr-placeholder{width:112px!important;height:112px!important;margin:0 auto 17px!important;padding:9px;background:#fff;border:1px solid #c8d9ee;border-radius:13px;box-sizing:border-box;flex-shrink:0}.identity-qr-placeholder{display:grid;place-items:center;font-size:64px;color:#7ea1ce}.identity-dates{display:flex;justify-content:space-between;width:100%;gap:8px;background:#fff;border:1px solid #d2e0f2;border-radius:13px;padding:11px 9px}.identity-dates>span{display:flex;flex-direction:column;gap:5px;flex:1}.identity-dates small{color:#546d86;font-size:10px}.identity-dates b{font:700 12px sans-serif;color:#154c86}.identity-signature{display:block;width:100%;text-align:center;margin-top:15px}.identity-signature small{display:block;font-size:10px;color:#58728e}.identity-signature img{width:164px;height:54px;object-fit:contain;mix-blend-mode:multiply}.identity-signature-line{display:block;height:44px;width:135px;margin:auto;border-bottom:1px solid #93acd0}.identity-disclaimer{display:block;margin-top:18px;font-size:11px;line-height:1.8;color:#294e77;text-align:start;border-inline-start:3px solid #e4bd23;padding-inline-start:10px}.identity-back-footer{display:flex;flex-direction:column;gap:6px;margin-top:auto;font:11px sans-serif;color:#1b5598}.identity-back-footer small{font-family:IdentityTajawal,var(--font);font-size:10px;color:#526e8f}.identity-hint{color:#52708e!important;font-size:13px;margin:20px 0 0;text-align:center}
.signature-canvas{display:block;width:100%;max-width:680px;aspect-ratio:3/1;height:auto;background:linear-gradient(#fff,#f6f9ff);border:1px solid #abc6e8;border-radius:14px;touch-action:none;cursor:crosshair;box-shadow:inset 0 2px 6px #1d477407}.signature-preview{width:240px;max-width:100%;height:80px;object-fit:contain;background:#fff;border:1px solid #d6e3f4;border-radius:10px}.signature-panel .actions{margin-block:12px}.signature-panel .check{margin-block:14px}.signature-panel p{color:#506880}.authenticity-wrap{max-width:780px}.authenticity-card{background:#fff;border:1px solid #cddff5;border-radius:25px;padding:38px;box-shadow:0 25px 60px #153a710a}.authenticity-card h1{font-size:32px;color:#123d73;line-height:1.6}.authenticity-result{border:1px solid #c8dcef;border-radius:20px;padding:26px;background:#edf5ff;margin-block:25px}.authenticity-result h2{font-size:25px;line-height:1.6}.authenticity-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#1556aa;color:white;font:700 29px sans-serif;margin-bottom:12px}.state-valid .authenticity-symbol{background:#23754c}.state-revoked,.state-unknown{background:#fff4f3;border-color:#eabfbb}.state-revoked .authenticity-symbol,.state-unknown .authenticity-symbol{background:#a13931}.state-expired,.state-future{background:#fff9e8;border-color:#e2cd8d}.public-check-form{border-top:1px solid #dbe5f3;padding-top:22px}.nfc-reader{margin-top:18px}.wallet-actions,.nfc-tools-grid{display:flex;flex-wrap:wrap;gap:12px}.wallet-actions button[disabled]{cursor:not-allowed;opacity:.55}.wallet-note{font-size:14px;line-height:1.8}.identity-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:900px;margin:auto;align-items:center}.identity-preview-copy h1{font-size:42px;line-height:1.5;color:#123f76}.identity-preview-copy p{color:#4c6580;line-height:1.9}.identity-preview-copy .eyebrow{color:#306dae}
@media(max-width:600px){.digital-identity.identity-luxe{width:318px;height:540px}.identity-luxe .identity-face{padding:22px 20px 15px}.identity-luxe .identity-name{font-size:21px!important}.identity-photo-frame{width:141px;height:166px}.account-identity-content{min-height:74px;gap:10px}.account-identity-content strong{font-size:16px}.account-identity-content small{font-size:12px}.account-points{padding:7px 10px;font-size:12px}.account-points b{font-size:19px}.authenticity-card{padding:24px 19px}.authenticity-card h1{font-size:27px}.authenticity-result{padding:20px 16px}.identity-preview-grid{grid-template-columns:1fr}.identity-preview-copy h1{font-size:32px}.identity-preview-copy{text-align:center}}
.identity-luxe .identity-face{gap:0;justify-content:flex-start}.identity-luxe .identity-company{flex-direction:row;background:none;margin:0;padding:0;border:0}.identity-luxe .identity-type{font-size:11px;margin:8px 0 9px;padding:3px 12px}.identity-luxe .identity-photo-frame{height:156px;width:137px}.identity-luxe .identity-name{margin:12px 0 4px;font-size:22px!important;line-height:1.4!important}.identity-luxe .identity-position{font-size:15px;line-height:1.5}.identity-luxe .identity-department{font-size:12px;line-height:1.4;margin-top:3px}.identity-luxe .identity-serial{padding:8px 0 6px}.identity-luxe .identity-valid{padding:2px 13px;line-height:1.7}.identity-luxe .identity-front-footer{margin-top:8px}.identity-luxe .identity-disclaimer{font-size:11px;line-height:1.8}.identity-luxe .identity-back{border-top:1px solid #cbdcf1}.identity-luxe .identity-back .identity-type{margin:18px 0 15px}.identity-luxe .identity-dates{font-size:12px}.identity-luxe .identity-back-footer{font-size:11px}.communications-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.communications-tabs .btn{font-size:14px;padding:9px 15px}.admin-contact-actions{margin-block:15px}.mail-message-body{white-space:normal;overflow-wrap:anywhere}.digital-identity.identity-long{height:615px}.identity-long .identity-name{font-size:18px!important}.identity-long .identity-position{font-size:14px}.identity-luxe .identity-front-footer{letter-spacing:2px}
@media(max-width:600px){.identity-luxe .identity-face{padding:22px 20px 15px}.identity-luxe .identity-photo-frame{height:149px;width:132px}.digital-identity.identity-long{height:600px}.identity-luxe .identity-name{font-size:21px!important}.identity-long .identity-name{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){.identity-luxe .identity-inner{transition:none}}
@media print{.identity-luxe-stage,.signature-panel,.wallet-actions,.account-identity-strip{display:none!important}}
.digital-identity.identity-luxe{height:575px}.digital-identity.identity-long{height:640px}.account-identity-content>div{min-width:0}.account-identity-content strong{overflow-wrap:anywhere}
@media(max-width:600px){.digital-identity.identity-luxe{height:560px}.digital-identity.identity-long{height:630px}}
/* NFC shows real operation states; browsers expose no distance measurement. */
.nfc-signal{display:grid;place-items:center;width:128px;height:112px;margin:20px auto 8px;color:#2768af;background:linear-gradient(145deg,#eff7ff,#e2ecf9);border:1px solid #cfdef0;border-radius:26px}.nfc-signal svg{width:105px;height:90px}[data-nfc-state=waiting] .nfc-signal,[data-nfc-state=permission] .nfc-signal{animation:nfc-pulse 1.6s ease-in-out infinite}[data-nfc-state=success] .nfc-signal,[data-nfc-state=written] .nfc-signal{color:#087849;background:#e8f7f0}[data-nfc-state=failed] .nfc-signal,[data-nfc-state=denied] .nfc-signal{color:#a12727;background:#fff1ef}[data-nfc-status]{font-weight:700;color:#153d70;text-align:center;min-height:1.6em}.nfc-status-hint{display:block;text-align:center;color:#536a83;margin:8px 0 18px}.nfc-guide-steps{list-style:none;padding:0;display:grid;gap:14px}.nfc-guide-steps li{display:flex;align-items:flex-start;gap:14px;background:#f1f6fc;border:1px solid #d8e5f4;padding:16px;border-radius:14px}.nfc-guide-steps b{flex:0 0 38px;display:grid;place-items:center;background:#1558a7;color:white;border-radius:10px;height:38px;font:700 15px Arial}.nfc-guide-steps span{line-height:1.85}.nfc-guide-wrap{max-width:900px}.nfc-guide-wrap h1{color:#153d70}.nfc-guide-wrap .nfc-reader{text-align:center;background:#fff;border:1px solid #d8e5f4;border-radius:20px;padding:24px}@keyframes nfc-pulse{50%{box-shadow:0 0 0 10px #2768af12;transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.nfc-signal{animation:none!important}}
/* Status is visible as text and colour; revoked cards have no usable QR. */
.identity-luxe .identity-valid.is-revoked{color:#8f2226;background:#fff0ee;border-color:#e6a8a8;font-weight:700}.identity-cancelled .identity-face{border-color:#d6a5a8}.identity-qr-blocked{width:112px;height:112px;display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0 auto 17px;padding:12px;border:1px solid #e1a6a6;border-radius:13px;background:#fff0ee;color:#8f2226;font-weight:700;box-sizing:border-box}.identity-qr-blocked small{font-size:11px}.signature-ink-frame{display:block;position:relative;width:190px;max-width:100%;margin:0 auto;padding:3px 12px;background:transparent;box-sizing:border-box}.signature-ink-frame>i{position:absolute;width:15px;height:15px;background:#2762a1;clip-path:polygon(0 100%,0 38%,38% 0,100% 0,49% 23%,23% 49%);pointer-events:none}.signature-ink-frame>i:nth-child(1){top:0;left:0}.signature-ink-frame>i:nth-child(2){top:0;right:0;transform:rotate(90deg);background:#d7b023}.signature-ink-frame>i:nth-child(3){bottom:0;right:0;transform:rotate(180deg)}.signature-ink-frame>i:nth-child(4){bottom:0;left:0;transform:rotate(270deg);background:#d7b023}.signature-ink-frame img{background:transparent!important}
