:root{--ink:#0C2A30;--ink2:#123840;--ink3:#1B4A54;--mist:#EDF1F0;--paper:#fff;--line:#DCE4E3;--text:#14262A;--muted:#536A6E;--gold:#C99A2E;--gold2:#E8BE5A;--goldsoft:#F6E9C6;--jade:#178A6B;--jadesoft:#DDF3EA;--rose:#B93A55;--rosesoft:#FBE4E9;--display:'El Messiri','Tajawal',sans-serif;--body:'Tajawal',sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--body);background:var(--mist);color:var(--text);min-height:100vh}.pub-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(232,190,90,.16),transparent 30%),linear-gradient(135deg,#f7f9f8,#e9efed)}.pub-card{width:min(720px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgba(12,42,48,.12);overflow:hidden}.pub-head{background:linear-gradient(120deg,var(--ink),var(--ink3));color:#fff;padding:28px 30px;position:relative}.pub-brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:20px}.pub-brand .mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold2);transform:rotate(45deg);color:var(--gold2)}.pub-brand .mark b{transform:rotate(-45deg)}.pub-head h1{font-family:var(--display);margin:24px 0 6px;font-size:32px}.pub-head p{margin:0;color:#bfd0ce}.pub-body{padding:28px 30px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-weight:700}.field input,.field select{padding:13px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}.btn{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-primary{background:var(--gold2);color:var(--ink)}.btn-ink{background:var(--ink);color:#fff}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-danger{background:var(--rosesoft);color:var(--rose)}.full{width:100%}.muted{color:var(--muted)}.center{text-align:center}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1}.ticket-box{text-align:center;border:1px dashed var(--gold);border-radius:18px;padding:18px;background:#fffdf8}.ticket-box img{width:min(300px,90%);margin:14px auto;display:block}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:800;font-size:13px}.status-pill.ok{background:var(--jadesoft);color:var(--jade)}.status-pill.no{background:var(--rosesoft);color:var(--rose)}.event-meta{display:grid;gap:10px;margin:18px 0}.event-meta div{display:flex;gap:10px;align-items:flex-start}.error{background:var(--rosesoft);color:var(--rose);padding:12px;border-radius:12px;margin-bottom:14px;display:none}.success{background:var(--jadesoft);color:var(--jade);padding:12px;border-radius:12px;margin-bottom:14px;display:none}.qr-reader{width:100%;min-height:280px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f7f7f7}.scan-result{padding:16px;border:1px solid var(--line);border-radius:14px;margin-top:16px}.scan-result.ok{border-color:var(--jade);background:var(--jadesoft)}.scan-result.warn{border-color:var(--gold);background:var(--goldsoft)}.scan-result.err{border-color:var(--rose);background:var(--rosesoft)}@media(max-width:600px){.pub-head,.pub-body{padding:22px}.pub-head h1{font-size:27px}.row{display:grid}.row>*{width:100%}}

/* BAHJA v1.1 gate */
.gate-card{max-width:820px}.gate-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.sound-btn{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px;cursor:pointer}.gate-device{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#f6f8f7;border:1px solid var(--line);margin-bottom:14px;font-size:13px;color:var(--muted)}.gate-dot{width:9px;height:9px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 5px rgba(23,138,107,.12)}.gate-seat{font-size:20px;padding:10px 12px;border-radius:10px;background:#fff;margin:12px 0}.scan-result h2{font-family:var(--display);font-size:28px;margin:0 0 10px}.gate-flash-ok{animation:gateOk .35s}.gate-flash-err{animation:gateErr .35s}@keyframes gateOk{0%,100%{background:var(--mist)}50%{background:#bfead8}}@keyframes gateErr{0%,100%{background:var(--mist)}50%{background:#f5c3cd}}

/* BAHJA v1.1 invitation themes + memories */
.memory-box{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.memory-box h3{font-family:var(--display);margin:0 0 4px}.memory-box textarea,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;resize:vertical}.memory-box .btn{margin-top:8px}.memory-box .success{margin-top:10px}
body[data-template="luxury"] .pub-head{background:linear-gradient(120deg,#111,#49350c)}body[data-template="modern"] .pub-head{background:linear-gradient(120deg,#16454e,#2b7480)}body[data-template="minimal"] .pub-head{background:#fff;color:#0C2A30;border-bottom:1px solid var(--line)}body[data-template="minimal"] .pub-head p{color:#536A6E}body[data-template="arabic"] .pub-head{background:radial-gradient(circle at 50% 0,#2b666f,#0C2A30)}body[data-template="corporate"] .pub-head{background:linear-gradient(120deg,#0b2e50,#174f72)}

.dynamic-invite{position:relative;width:min(100%,480px);aspect-ratio:9/16;margin:0 auto 24px;background:#f8f4ee center/cover no-repeat;border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.12)}.invite-layer{position:absolute;transform:translate(-50%,-50%);width:84%;text-align:center;line-height:1.35;white-space:normal}.invite-qr-layer{width:82px!important;height:82px!important;object-fit:contain;background:#fff;padding:5px;border-radius:8px}@media(max-width:520px){.invite-layer{font-size:clamp(12px,4.4vw,28px)!important}.invite-qr-layer{width:68px!important;height:68px!important}}

/* Personalized guest invitation */
.pub-card{width:min(620px,100%);border-radius:30px;background:#fffdfa;box-shadow:0 28px 80px rgba(67,47,35,.16)}
.pub-head{padding:20px 24px;background:linear-gradient(180deg,#fffdfa,#fbf7f1);color:#4f4037;border-bottom:1px solid #eee5db;text-align:center}
.pub-brand{justify-content:center;color:#6a4e37;font-size:18px}.pub-brand .mark{width:34px;height:34px;border-color:#b98b46;color:#9c6f2d}
.pub-head h1{font-size:18px;margin:8px 0 3px;color:#6a4e37}.pub-head p{color:#8d7768;font-size:13px}
.pub-body{padding:18px 18px 24px}
.guest-greeting{text-align:center;padding:6px 12px 18px;color:#5c5048;line-height:1.9}
.guest-salam{font-family:var(--display);font-size:25px;color:#51443c}.guest-honour,.guest-host{font-family:'Aref Ruqaa',var(--display);font-size:26px;color:#a05c5d}.guest-invite-line{font-size:18px;color:#5d5550;margin-top:2px}.guest-greeting strong{font-weight:700}
.dynamic-invite{width:min(100%,500px);border-radius:22px;margin-bottom:18px;box-shadow:0 18px 44px rgba(80,59,45,.16);border:1px solid rgba(189,145,88,.18)}
.event-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.event-meta div{background:#fff;border:1px solid #eee4d9;border-radius:14px;padding:11px 12px;align-items:center;color:#61564e}.event-meta div:nth-child(3),.event-meta div:nth-child(4){grid-column:1/-1}
.rsvp-panel{background:#fff;border:1px solid #eee4d9;border-radius:24px;padding:18px;box-shadow:0 12px 34px rgba(87,61,41,.06)}
.rsvp-panel .field{margin-bottom:15px}.rsvp-panel .field label{font-size:16px;color:#433b35}.rsvp-panel select,.rsvp-panel textarea{border:1px solid #ddd1c4;border-radius:16px;background:#fffdfa;min-height:50px}.rsvp-panel textarea{padding:14px 15px;font:inherit;resize:vertical}.rsvp-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin-top:8px}.rsvp-actions .btn{min-height:52px;border-radius:16px;font-size:16px}.rsvp-actions .btn-primary{background:linear-gradient(135deg,#d7ac50,#b98732);color:#fff;box-shadow:0 8px 18px rgba(185,135,50,.22)}.rsvp-actions .btn-danger{background:#fff4f3;color:#a85151;border:1px solid #ecc7c2}.ticket-box{border:1px solid #e7d4ad;background:linear-gradient(180deg,#fffefb,#fff8eb);border-radius:24px;padding:22px}.response-result{padding:18px 8px}
@media(max-width:600px){.pub-shell{padding:10px}.pub-card{border-radius:24px}.pub-head,.pub-body{padding-left:14px;padding-right:14px}.guest-salam{font-size:22px}.guest-honour,.guest-host{font-size:23px}.guest-invite-line{font-size:16px}.event-meta{grid-template-columns:1fr}.event-meta div:nth-child(n){grid-column:auto}.rsvp-actions{grid-template-columns:1fr 1fr}.rsvp-actions .btn{font-size:14px;padding:12px 8px}}

/* BAHJA v1.4 live gate completion */
.entry-success-card{margin:18px 0;text-align:center;padding:34px 22px;border:1px solid #b7dfcf;border-radius:26px;background:linear-gradient(180deg,#f4fff9,#e6f7ef);box-shadow:0 18px 44px rgba(23,138,107,.10);color:#174c3d}.entry-success-icon{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#178a6b;color:#fff;font-size:42px;font-weight:900;box-shadow:0 10px 26px rgba(23,138,107,.24)}.entry-success-card h2{font-family:var(--display);font-size:28px;margin:0 0 8px}.entry-success-name{font-family:var(--display);font-size:26px;font-weight:800;color:#0d6b50;margin:6px 0}.entry-success-brand{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid rgba(23,138,107,.18);font-size:13px;color:#527068}.entry-success-brand b{font-size:16px;color:#174c3d}.invite-asset-layer{position:absolute;object-fit:contain;max-width:none;pointer-events:none}.gate-brandline{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:12px}.scan-result.ok{padding:28px;text-align:center;border-width:2px}.scan-result.ok h2{color:#126c55}.scan-result.err{padding:28px;text-align:center;border-width:2px}.scan-result.err h2{color:#9b2e47}
