@font-face{font-family:Alliance Tajawal;src:url('fonts/Tajawal-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Alliance Tajawal;src:url('fonts/Tajawal-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
.psn-portal{font-family:Alliance Tajawal,Arial,sans-serif!important;color:#382f2d;background:#fff;border:1px solid #d0c5b8;border-radius:20px;box-shadow:0 12px 42px #382f2d0a;line-height:1.7}
.psn-portal .psn-participant-logo{display:block;width:240px;height:auto;margin:0 auto 12px}
.psn-portal input{box-sizing:border-box;border:1px solid #d0c5b8;border-radius:10px;font:inherit;color:#382f2d;background:#fcf7ee;min-height:46px}
.psn-portal input:focus-visible,.psn-portal button:focus-visible{outline:3px solid #ad8965;outline-offset:3px}
.psn-portal button{font:inherit;font-weight:700;color:white;background:#382f2d;border:0;border-radius:10px;padding:12px 24px;min-height:46px;cursor:pointer}
.psn-portal button:hover,.psn-portal button:focus,.psn-portal button:active{background:#382f2d;color:#fff;border-color:transparent;box-shadow:none}.psn-portal input[readonly]{background:#f3f0e9}.psn-portal [role=status]{background:#f3f0e9;border-radius:10px;padding:12px}.psn-portal h2{font:700 28px/1.4 Alliance Tajawal,Arial,sans-serif}

.psn-participant-shell{box-sizing:border-box;min-height:80vh;padding:clamp(24px,7vw,80px) 16px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 90% 0%,#ad896516,transparent 55%),radial-gradient(ellipse at 0% 100%,#382f2d12,transparent 60%),#f3f0e9}
.psn-participant-shell .psn-portal{box-sizing:border-box;width:100%;max-width:640px;padding:clamp(24px,5vw,48px)!important;border-radius:24px;box-shadow:0 24px 70px #382f2d10}
.psn-message-card{text-align:center}.psn-message-card .psn-participant-logo{width:min(220px,75%);margin-bottom:36px}.psn-message-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 24px;border-radius:22px;color:#382f2d;background:#f3f0e9}.psn-message-icon svg{width:32px;height:32px}.psn-message-card h2{font-size:clamp(21px,4vw,28px);line-height:1.65;margin:0 auto 28px;max-width:470px}.psn-brand-line{width:64px;height:5px;border-radius:5px;background:linear-gradient(90deg,#382f2d,#ad8965,#d0c5b8);margin:auto}.psn-portal [role=status]{padding:16px}.psn-portal form label{display:block;margin:14px 0}.psn-portal form input{display:block;width:100%;padding:10px}.psn-portal form button{width:100%;margin-top:20px}
@media(max-width:480px){.psn-participant-shell{min-height:85vh;padding:24px 12px}.psn-message-card .psn-participant-logo{margin-bottom:28px}}

.psn-dashboard{margin-top:32px;text-align:right}.psn-dashboard h3{margin-top:32px;border-bottom:1px solid #d0c5b8;padding-bottom:12px}.psn-dashboard article{background:#f3f0e9;border-radius:12px;padding:18px;margin:12px 0}.psn-dashboard td,.psn-dashboard th{padding:10px 4px;border-bottom:1px solid #d0c5b8;font-size:14px}.psn-dashboard a{display:inline-block;padding:12px;color:#382f2d}

.psn-portal button:disabled{opacity:.55;cursor:not-allowed}
.psn-demo{padding-top:24px;margin-top:24px;border-top:3px solid #382f2d}.psn-demo-warning{background:#fff3dd;color:#74501a;padding:16px;border-radius:10px}.psn-demo fieldset{border:1px solid #d0c5b8;border-radius:10px;padding:16px;margin:16px 0}.psn-demo legend{font-weight:700}.psn-demo .psn-demo-choice{display:flex;align-items:center;gap:10px;font-weight:400}.psn-demo .psn-demo-choice input[type=radio]{display:inline-block;width:20px;height:20px;flex-shrink:0;margin:0;accent-color:#382f2d}.psn-demo select,.psn-demo textarea{width:100%;padding:12px;border:1px solid #d0c5b8;border-radius:8px;font:inherit}.psn-demo article{padding:18px;background:#f3f0e9;border-radius:12px;margin:18px 0}
/* Participant password visibility controls, including creation and recovery. */
.psn-participant-shell .psn-participant-password-field{position:relative;display:block;width:100%}
.psn-participant-shell .psn-participant-password-field input{padding-right:58px!important;box-sizing:border-box;width:100%;border-radius:10px}
.psn-participant-shell .psn-participant-password-toggle{position:absolute!important;right:5px;top:50%;transform:translateY(-50%);display:flex!important;align-items:center;justify-content:center;width:44px!important;height:40px;min-height:40px;padding:9px!important;margin:0!important;border:0!important;border-radius:8px;background:transparent!important;color:#382f2d!important;box-shadow:none!important;cursor:pointer}
.psn-participant-shell .psn-participant-password-toggle:hover,.psn-participant-shell .psn-participant-password-toggle:focus-visible{background:#f3f0e9!important;color:#382f2d!important;outline:2px solid #382f2d;outline-offset:1px}
.psn-participant-password-toggle svg{width:24px;height:24px;display:block}
.psn-participant-eye-slash{display:none}.psn-participant-password-toggle[aria-pressed="true"] .psn-participant-eye-slash{display:block}

/* Keep Arabic rating text clear of native select clipping and theme heights. */
.psn-portal .psn-demo select{box-sizing:border-box!important;height:auto!important;min-height:54px!important;padding:8px 16px!important;font-family:Alliance Tajawal,Arial,sans-serif!important;font-size:16px!important;line-height:normal!important;direction:rtl;color:#382f2d!important;background-color:#fff!important}
.psn-portal .psn-demo textarea{box-sizing:border-box!important;min-height:110px;font-family:Alliance Tajawal,Arial,sans-serif!important;font-size:16px!important;line-height:1.7!important;direction:rtl;color:#382f2d;background-color:#fff}

.psn-participant-shell .psn-participant-logo{width:280px;max-width:85%;height:auto;object-fit:contain;margin:0 auto 24px;display:block}

.psn-live .psn-learning-stage{border:1px solid #d0c5b8;border-radius:12px;background:#fff;margin:12px 0;padding:16px}
.psn-live .psn-learning-stage>summary{cursor:pointer;font-weight:700;font-size:18px;color:#382f2d;padding:6px 0}
.psn-live fieldset{padding:14px;margin:14px 0}
.psn-live .psn-demo-choice{padding:10px 12px!important;background:#f3f0e9;border:1px solid #d0c5b8;border-radius:8px;margin:8px 0!important;min-height:48px}

.psn-programme-title{font-family:inherit!important;color:#382f2d;font-weight:700;line-height:1.5;letter-spacing:0;text-align:inherit}.psn-programme-title span{font-family:inherit!important;letter-spacing:0}

.psn-portal>.psn-programme-title{margin:0 auto 28px;text-align:center}.psn-brand-line{background:#d0c5b8}.psn-portal a{color:#382f2d}.psn-portal input,.psn-portal select,.psn-portal textarea{accent-color:#382f2d}
.psn-participant-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.psn-participant-tabs button{font-size:14px!important;padding:10px 14px!important;background:#f3f0e9!important;color:#382f2d!important;border:1px solid #d0c5b8!important}.psn-participant-tabs button[aria-selected=true]{background:#382f2d!important;color:#fff!important}[data-participant-panel][hidden]{display:none!important}.psn-progress progress{display:block;width:100%;height:16px;accent-color:#382f2d;margin:10px 0}.psn-progress h2{font-size:20px}.psn-message-card h1{font-size:24px!important}.psn-message-card p{font-size:15px!important}.psn-trainer-shell{max-width:1100px;margin:24px auto;padding:24px}.psn-trainer-shell input,.psn-trainer-shell select,.psn-trainer-shell textarea{display:block;width:100%;padding:12px;font:inherit;box-sizing:border-box}.psn-trainer-shell table{width:100%;border-collapse:collapse}.psn-trainer-shell th,.psn-trainer-shell td{padding:10px;text-align:right;border-bottom:1px solid #d0c5b8}.psn-trainer-shell section{padding:20px 0}.psn-trainer-nav{display:flex;gap:20px;flex-wrap:wrap}.psn-trainer-shell label{display:block;margin:12px 0}
.psn-trainer-rating[data-rating=RED]{border:3px solid #ab2328;background:#fff2f2}.psn-trainer-rating[data-rating=ORANGE]{border:3px solid #bf6a1b;background:#fff5e6}.psn-trainer-rating[data-rating=GREEN]{border:3px solid #557247;background:#f0f5ed}.psn-trainer-shell table textarea{min-width:160px}.psn-trainer-shell table select{min-width:120px}

/* Attendance code stays at the top, independent of the selected portal tab. */
.psn-portal>.psn-scan-card{display:block;text-align:center;background:#fff;border:1px solid #d0c5b8;border-radius:16px;padding:16px;margin:0 0 24px}
.psn-scan-card h3{margin:0 0 12px;font-size:18px;line-height:1.5;color:#382f2d}
.psn-scan-card [data-psn-qr]{display:flex;justify-content:center;background:#fff}
.psn-scan-card canvas{display:block;height:auto;max-width:100%;background:#fff}
.psn-scan-card p{margin:12px 0 0;font-size:14px;line-height:1.6;color:#382f2d}

.psn-login-logo{display:block;width:120px;height:auto;margin:0 auto 24px}.psn-message-card h1{margin-bottom:20px}.psn-portal table{display:block;overflow-x:auto;max-width:100%;white-space:nowrap}.psn-portal th,.psn-portal td{padding:14px 20px;min-width:110px}.psn-learning-stage summary{list-style:none}.psn-learning-stage summary::-webkit-details-marker{display:none}

/* Keep labels and controls in separate rows even when the theme styles labels. */
.psn-participant-shell .psn-portal form label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;position:static!important;transform:none!important;float:none!important;height:auto!important;line-height:1.7!important;text-align:right!important;margin:20px 0!important;}
.psn-participant-shell .psn-portal form input{position:static!important;float:none!important;margin:0!important;min-height:48px;max-width:100%;box-sizing:border-box;}
.psn-participant-shell .psn-portal h1,.psn-participant-shell .psn-portal h2,.psn-participant-shell .psn-programme-title{overflow-wrap:anywhere;line-height:1.6!important;}
.psn-participant-shell .psn-activation-card{width:100%;max-width:640px;margin:auto;box-sizing:border-box;}
.psn-participant-shell .psn-portal [role=alert]{padding:16px;background:#f3f0e9;border-radius:10px;overflow-wrap:anywhere;}
@media(max-width:600px){.psn-participant-shell .psn-portal{padding:24px 18px!important;max-width:100%!important;box-sizing:border-box}.psn-participant-shell .psn-portal form label{font-size:16px!important}.psn-participant-shell .psn-login-logo{width:112px;max-width:100%;height:auto}.psn-participant-shell .psn-programme-title{font-size:20px!important}}

/* Compact activation heading overrides theme display typography. */
.psn-participant-shell .psn-portal.psn-activation-card{text-align:right!important;padding-top:24px!important;}
.psn-participant-shell .psn-portal.psn-activation-card .psn-login-logo{width:84px!important;height:auto!important;max-width:100%;margin:0 auto 16px!important;}
.psn-participant-shell .psn-portal.psn-activation-card h1.psn-activation-title{font-family:Tajawal,Arial,sans-serif!important;font-size:26px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;margin:0 0 10px!important;padding:0!important;text-align:center!important;color:#382f2d!important;}
.psn-participant-shell .psn-portal.psn-activation-card .psn-activation-intro{font-size:15px!important;line-height:1.8!important;text-align:center!important;margin:0 0 22px!important;color:#74665f!important;}
.psn-participant-shell .psn-portal.psn-activation-card>section{border-top:1px solid #d0c5b8;padding-top:18px!important;}
.psn-participant-shell .psn-portal.psn-activation-card h3{font-size:18px!important;line-height:1.5!important;margin:0 0 8px!important;color:#382f2d!important;}
@media(max-width:600px){.psn-participant-shell .psn-portal.psn-activation-card h1.psn-activation-title{font-size:23px!important}.psn-participant-shell .psn-portal.psn-activation-card .psn-login-logo{width:76px!important;margin-bottom:14px!important}}

.psn-course-notice{background:#f3f0e9;padding:14px;border-right:3px solid #ad8965;color:#382f2d}.psn-course-player{margin-top:20px;width:100%;min-width:0}.psn-course-player[hidden]{display:none}.psn-course-player iframe{display:block;width:100%;height:70vh;min-height:420px;max-height:850px;border:1px solid #d0c5b8;background:#fff;border-radius:12px}@media(max-width:600px){.psn-course-player iframe{height:75vh;min-height:400px}}

.psn-learning-stage[dir="rtl"]{direction:rtl;text-align:right;}
.psn-learning-stage[dir="rtl"] fieldset,.psn-learning-stage[dir="rtl"] legend,.psn-learning-stage[dir="rtl"] h3,.psn-learning-stage[dir="rtl"] p{direction:rtl;text-align:right;line-height:1.9;}
.psn-learning-stage[dir="rtl"] textarea{direction:rtl;text-align:right;}

.sn-registration-background{margin:24px 0;padding:18px;border:1px solid #d0c5b8;border-radius:12px;background:#fff;direction:rtl;text-align:right;}
.sn-registration-background>label,.sn-registration-background fieldset{display:block;margin:18px 0;min-width:0;}
.sn-registration-background input:not([type=checkbox]),.sn-registration-background select{display:block;width:100%;max-width:100%;padding:10px;margin-top:8px;}
.sn-registration-background input[dir=auto]{text-align:start;}
.sn-registration-background .sn-language-row{padding:12px 0;border-bottom:1px solid #e8dfd5;display:grid;gap:10px;}
.sn-registration-background [hidden]{display:none!important;}

/* Registration background: scoped RTL layout overrides broad activation-form rules. */
.psn-participant-shell .psn-portal form .sn-registration-background{width:100%;min-width:0;box-sizing:border-box;direction:rtl;text-align:right;padding:20px;}
.psn-participant-shell .psn-portal form .sn-registration-background *{box-sizing:border-box;}
.psn-participant-shell .psn-portal form .sn-registration-background>label{gap:8px!important;margin:22px 0!important;line-height:1.8!important;}
.psn-participant-shell .psn-portal form .sn-registration-background fieldset{display:block!important;width:100%;min-inline-size:0;min-width:0;margin:24px 0!important;padding:16px!important;border:1px solid #d0c5b8;border-radius:10px;direction:rtl;text-align:right;}
.psn-participant-shell .psn-portal form .sn-registration-background legend{display:block;float:none;width:100%;max-width:100%;padding:0 0 10px!important;margin:0!important;font-size:inherit;font-weight:600;line-height:1.8;text-align:right;white-space:normal;overflow-wrap:anywhere;}
.psn-participant-shell .psn-portal form .sn-registration-background fieldset>p{clear:both;margin:0 0 12px!important;line-height:1.8;text-align:right;}
.psn-participant-shell .psn-portal form .sn-registration-background label.sn-background-choice{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;flex-direction:row!important;align-items:start!important;column-gap:12px!important;row-gap:0!important;direction:rtl;text-align:right!important;width:100%!important;min-height:44px!important;margin:8px 0!important;padding:10px 8px!important;font-weight:400;cursor:pointer;}
.psn-participant-shell .psn-portal form .sn-registration-background label.sn-background-choice input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;position:static!important;float:none!important;transform:none!important;flex:none!important;inline-size:20px!important;block-size:20px!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important;padding:0!important;margin:5px 0 0!important;border-radius:3px!important;accent-color:#382f2d!important;box-shadow:none!important;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-background-choice span{display:block;min-width:0;line-height:1.8;text-align:right;white-space:normal;overflow-wrap:anywhere;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-background-choice:focus-within{outline:2px solid #ad8965;outline-offset:2px;border-radius:6px;}
.psn-participant-shell .psn-portal form .sn-registration-background select{direction:rtl;text-align:right;font:inherit;line-height:1.5;min-height:48px;width:100%;max-width:100%;margin:0!important;padding:10px 12px!important;}
.psn-participant-shell .psn-portal form .sn-registration-background input:not([type=checkbox]){width:100%!important;min-width:0;min-height:48px;padding:10px 12px!important;font:inherit;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-language-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px 0;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-language-row label{margin:0!important;gap:8px!important;min-width:0;}
.psn-participant-shell .psn-portal form .sn-registration-background button.sn-remove-language,.psn-participant-shell .psn-portal form .sn-registration-background button.sn-add-language{width:auto!important;max-width:100%;min-height:44px;margin:10px 0 0!important;padding:10px 14px!important;font:inherit;white-space:normal;}
.psn-participant-shell .psn-portal form .sn-registration-background button.sn-remove-language{margin:0!important;}
.psn-participant-shell .psn-portal form .sn-registration-background [hidden]{display:none!important;}
@media(max-width:600px){
.psn-participant-shell .psn-portal form .sn-registration-background{padding:14px!important;}
.psn-participant-shell .psn-portal form .sn-registration-background fieldset{padding:12px!important;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-language-row{grid-template-columns:minmax(0,1fr);gap:12px;}
.psn-participant-shell .psn-portal form .sn-registration-background .sn-language-row button{justify-self:start;}
}
