/* Libyan Banks Forum 2026 registration, credentials and reception UI.
   No external font or network dependencies. */
.lbf-reg-root { --lbf-navy:#092b4e; --lbf-gold:#cba367; --lbf-ink:#173a55; --lbf-muted:#607b90; box-sizing:border-box; font-family:"Cairo","DM Sans",system-ui,sans-serif; color:var(--lbf-ink); background:linear-gradient(142deg,#f7f9fb,#edf3f6); padding:clamp(24px,4vw,55px); border:1px solid #d9e4ec; max-width:1200px; margin:25px auto; }
.lbf-reg-root * {box-sizing:border-box;}
.lbf-reg-root[dir="ltr"] {font-family:"DM Sans",system-ui,sans-serif;}
.lbf-reg-heading {position:relative; margin-bottom:34px; padding-inline-end:130px;}
.lbf-reg-overline {font-size:12px; color:#9e753a; text-transform:uppercase; font-weight:800; letter-spacing:.06em;}
.lbf-reg-heading h2 {font-size:clamp(25px,2.4vw,37px); margin:11px 0 9px; color:var(--lbf-navy); font-weight:900;}
.lbf-reg-heading p {font-size:14px; color:#5f7483; line-height:1.9; margin:0; max-width:760px;}
.lbf-reg-langs {position:absolute; top:4px; inset-inline-end:0; display:flex; gap:3px; border:1px solid #ccdae5; padding:4px; background:white; direction:ltr; border-radius:5px;}
.lbf-reg-langs button {border:0; padding:8px 7px; background:transparent; color:#628098; cursor:pointer; font:bold 12px/1 sans-serif; border-radius:3px;}
.lbf-reg-langs button[aria-pressed="true"] {background:var(--lbf-navy); color:#fff;}
.lbf-reg-progress {display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:0 0 25px;}
.lbf-reg-progress span {background:#e6edf2; color:#5d7489; text-align:center; font-weight:800; padding:9px; font-size:11px; border-top:3px solid #d6e0e8;}
.lbf-reg-progress span.active {color:#0a3958; background:#f6eddf; border-color:var(--lbf-gold);}
.lbf-reg-cards {display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:25px 0 23px;}
.lbf-reg-cards button {text-align:start; border:1px solid #dbe5ec; background:#fff; padding:23px 16px; min-height:128px; border-radius:4px; cursor:pointer; transition:transform .2s,border-color .2s;}
.lbf-reg-cards button:hover {transform:translateY(-2px); border-color:#c7a36d;}
.lbf-reg-cards button.selected {border-color:#b98d4b; background:#fff9ef; box-shadow:inset 0 0 0 1px #c4a06a;}
.lbf-reg-cards button:focus-visible, .lbf-reg-root button:focus-visible, .lbf-reg-root input:focus-visible,.lbf-reg-root textarea:focus-visible,.lbf-reg-root select:focus-visible {outline:3px solid var(--lbf-gold); outline-offset:3px;}
.lbf-reg-cards b {display:block; color:#103650; font-size:16px; margin:12px 0 5px;}
.lbf-reg-cards small {display:block; color:#718698; font-size:11px; line-height:1.5;}
.lbf-reg-icon {display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#e9f1f5; color:#0e456b; font:bold 12px "DM Sans",sans-serif;}
.lbf-reg-cards button.selected .lbf-reg-icon {background:#dfbe8c; color:#253a45;}
.lbf-reg-form {background:#fff; border:1px solid #e0e8ef; padding:27px;}
.lbf-reg-fields {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.lbf-reg-fields label {display:flex; flex-direction:column; font-weight:800; font-size:12px; gap:9px; color:#294c68;}
.lbf-reg-fields label[hidden] {display:none;}
.lbf-reg-full {grid-column:1/-1;}
.lbf-reg-fields input,.lbf-reg-fields textarea,.lbf-reg-fields select {display:block; min-height:46px; padding:10px 13px; width:100%; background:#fbfdfe; border:1px solid #cedde7; color:#1a3952; border-radius:3px; font-weight:500; font-size:14px;}
.lbf-reg-fields textarea {resize:vertical; min-height:100px;}
.lbf-reg-consent {display:flex; align-items:flex-start; gap:11px; margin:24px 0 4px; font-size:12px; line-height:1.7; color:#4e6679;}
.lbf-reg-consent input {width:18px; height:18px; flex:none; accent-color:#0f4771; margin-top:1px;}
.lbf-reg-form-footer {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-top:23px;}
.lbf-reg-submit {background:#0a365d; color:white; padding:14px 28px; border:0; border-radius:3px; font-weight:900; font-size:13px; cursor:pointer; min-width:160px;}
.lbf-reg-submit:disabled {opacity:.6; cursor:not-allowed;}
.lbf-reg-form-footer small {font-size:11px; color:#698095; line-height:1.6;}
.lbf-reg-notice,.lbf-reg-result {padding:20px; background:#fff4dc; border-inline-start:4px solid #c5a066; font-size:14px; line-height:1.9; color:#624f30;}
.lbf-reg-result {margin-top:20px;}
.lbf-reg-result.success {background:#e8f8f2; border-color:#1d9c78; color:#1a604d;}
.lbf-reg-result.error {background:#fff0ee; border-color:#cf6855; color:#8b2b20;}
.lbf-reg-spam {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.lbf-reg-root [hidden] {display:none !important;}
@media (max-width:840px){.lbf-reg-cards {grid-template-columns:repeat(2,1fr);} .lbf-reg-root{padding:25px;}}
@media (max-width:510px){.lbf-reg-root{padding:19px;} .lbf-reg-heading{padding-inline-end:0; padding-top:48px;} .lbf-reg-langs{inset-inline-start:0; inset-inline-end:auto;} .lbf-reg-cards{gap:9px;} .lbf-reg-cards button{padding:15px 12px; min-height:118px;} .lbf-reg-fields{grid-template-columns:1fr;} .lbf-reg-full{grid-column:auto;} .lbf-reg-form{padding:19px;} .lbf-reg-form-footer{align-items:stretch; flex-direction:column;}}

/* Admission badges: printable 105 x 148 mm (A6), no PII publicly indexed. */
body.lbf-badge-body {margin:0;background:#e8edf0; color:#112b42; font:15px/1.6 "Cairo",system-ui,Arial,sans-serif;}
.lbf-badge {margin:25px auto; background:#fff; width:min(94vw,397px); min-height:555px; border:1px solid #c8d5de; box-shadow:0 17px 40px rgba(10,36,59,.13); position:relative; overflow:hidden;}
.lbf-badge::before {content:"";position:absolute;width:245px;height:245px;border:33px solid rgba(197,156,91,.07);border-radius:50%;top:-170px;right:-120px;}
.lbf-badge-top {background:linear-gradient(115deg,#071e39,#123b5a);color:#eee4c6;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px;font:bold 10px/1.3 Arial,sans-serif;letter-spacing:.045em;}
.lbf-badge-top b {color:#fff;font-size:17px;}
.lbf-badge-inner {padding:27px 28px 18px;text-align:center;}
.lbf-badge-edition {color:#a78148; font:bold 10px Arial,sans-serif;letter-spacing:.12em;}
.lbf-badge h1 {font-size:clamp(22px,4vw,30px); margin:18px 0 9px;line-height:1.45;color:#082b4d;word-wrap:break-word;}
.lbf-badge-org {color:#496176; font-size:13px;min-height:25px;word-wrap:break-word;}
.lbf-badge-role {display:inline-block;border:1px solid #dbc095; color:#845c2b;background:#fffbf3;font-size:11px;font-weight:800;margin:15px 0 11px;padding:4px 17px;}
.lbf-badge-qr {width:250px;height:250px;max-width:100%;margin:0 auto;display:grid;place-items:center;}
.lbf-badge-qr svg {max-width:100%;max-height:100%;}
.lbf-badge-ref {font:bold 12px Arial,sans-serif;letter-spacing:.22em;margin:0 0 12px;}
.lbf-badge-venue {font:bold 9px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#71879b;}
.lbf-badge footer {background:#0b3155;color:#c5d6e0;text-align:center;padding:10px;font:10px Arial,sans-serif;}
.lbf-badge-actions {margin:15px auto 30px;text-align:center;}
.lbf-badge-actions button,.lbf-checkin button {padding:11px 20px;background:#0b3155;color:#fff;border:0;cursor:pointer;font-weight:800;border-radius:3px;}
@page {size:A6 portrait;margin:0;}
@media print {body.lbf-badge-body{background:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}.lbf-badge{width:105mm;min-height:148mm;margin:0;box-shadow:none;border:0;}.lbf-badge-actions{display:none;}}
.lbf-verification,.lbf-checkin {max-width:740px;margin:48px auto;padding:36px;background:#fff;border-top:7px solid #b8965a;box-shadow:0 12px 32px rgba(20,46,67,.1);}
.lbf-verification h1{color:#0d4b60;font-size:28px;}
.lbf-verification.invalid {border-color:#a94442;}
.lbf-verification.invalid h1 {color:#9e2d28;}
.lbf-checkin input {display:block;width:100%;margin:14px 0;padding:13px;border:1px solid #aebfcf;box-sizing:border-box;font:14px Arial;}
.lbf-checkin video {width:100%;max-height:320px;background:#172b3e;display:block;margin:14px 0;}
#lbf-checkin-result {margin-top:25px; padding:14px;}
#lbf-checkin-result.good {border-inline-start:5px solid #26936f;background:#e6f6ef;color:#15674c;}
#lbf-checkin-result.bad {border-inline-start:5px solid #bd6756;background:#ffefea;color:#822b24;}


/* Locked master-brand logo. Image pixels are derived only from the approved file. */
.lbf-reg-official-logo {display:block; width:86px; height:86px; object-fit:contain; margin:0 0 13px; background:#fff; border-radius:50%;}
.lbf-badge-official-logo {display:block; flex:none; width:68px; height:68px; object-fit:contain; border-radius:50%; background:#fff;}
.lbf-badge-headlines {display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; text-align:end;}
.lbf-badge-headlines b {color:#fff;font:800 20px/1.2 Arial,sans-serif;}
.lbf-badge-headlines small {color:#e4dbbd;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.05em;}
.lbf-verify-brand,.lbf-checkin-brand {display:flex; align-items:center; gap:14px;}
.lbf-verify-brand img,.lbf-checkin-brand img {display:block;object-fit:contain;border-radius:50%;}
.lbf-checkin-brand h1 {margin:0;font-size:clamp(22px,4vw,28px);}
@media (max-width:510px) { .lbf-reg-official-logo{width:74px;height:74px;} .lbf-badge-top{gap:10px;} }

@media print{.lbf-language-picker{display:none!important}}
/* Keep the LTR language picker opposite the logo in Arabic. */
.lbf-reg-root[dir="rtl"] .lbf-reg-langs { left:0; right:auto; }
