*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tajawal,system-ui,sans-serif;background:#f8fafc;color:#14213d;line-height:1.75}body.menu-open{overflow:hidden}.dark body,.dark{background:#0b1220;color:#f8fafc}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.skip{position:fixed;right:10px;top:-60px;z-index:99;background:#12305f;color:#fff;padding:10px 14px;border-radius:0 0 10px 10px}.skip:focus{top:0}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.08)}.dark .site-header{background:rgba(11,18,32,.88);border-color:rgba(255,255,255,.1)}.topbar{background:linear-gradient(135deg,#12264f,#244d86);color:#fff;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;gap:18px;padding:7px 0;opacity:.92}.navbar{display:flex;align-items:center;gap:18px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-logo{width:54px;height:54px;object-fit:contain;border-radius:14px;background:white;padding:4px;box-shadow:0 12px 30px rgba(18,38,79,.16)}.brand-text{display:grid;line-height:1.25}.brand-text strong{font-weight:900}.brand-text small{font-size:12px;color:#64748b}.dark .brand-text small{color:#94a3b8}.main-nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}.main-nav>a,.nav-group>button{border:0;background:transparent;padding:10px 12px;border-radius:999px;font:700 14px Tajawal;color:inherit;cursor:pointer}.main-nav>a:hover,.nav-group>button:hover,.main-nav .active{background:#e8eef8;color:#12305f}.dark .main-nav>a:hover,.dark .nav-group>button:hover{background:#1e293b;color:#fff}.nav-group{position:relative}.dropdown{position:absolute;top:100%;right:0;min-width:250px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid #e2e8f0;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(15,23,42,.16);display:none}.dark .dropdown{background:#111827;border-color:#334155}.nav-group:hover .dropdown{display:grid}.dropdown a{padding:9px 10px;border-radius:12px;font-size:14px}.dropdown a:hover{background:#f1f5f9}.dark .dropdown a:hover{background:#1e293b}.theme-btn,.nav-toggle{border:1px solid #e2e8f0;background:white;border-radius:999px;width:42px;height:42px;cursor:pointer}.dark .theme-btn,.dark .nav-toggle{background:#111827;color:white;border-color:#334155}.nav-toggle{display:none}.home-hero,.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#111f45 0%,#1e4f8d 58%,#2d6ca3 100%);color:#fff}.hero-pattern{position:absolute;inset:0;background:radial-gradient(circle at 10% 15%,rgba(255,255,255,.25),transparent 35%),radial-gradient(circle at 85% 75%,rgba(216,174,83,.28),transparent 34%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,auto,70px 70px,70px 70px}.home-hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .8fr;gap:40px;align-items:center;padding:78px 0 50px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(216,174,83,.16);color:#d8ae53;border:1px solid rgba(216,174,83,.35);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:900}.hero-copy h1,.page-hero h1{font-family:Amiri,Tajawal,serif;font-size:clamp(38px,6vw,78px);line-height:1.05;margin:18px 0 18px}.hero-copy p,.page-hero p{font-size:clamp(16px,2vw,20px);color:rgba(255,255,255,.86);max-width:720px}.hero-search{display:flex;align-items:center;gap:8px;width:min(620px,100%);margin:28px 0 20px;padding:7px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px)}.hero-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;padding:10px;font:500 15px Tajawal}.hero-search input::placeholder{color:rgba(255,255,255,.65)}button,.btn{font-family:Tajawal,system-ui}.hero-search button,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 22px;font-weight:900;cursor:pointer}.gold,.hero-search button{background:linear-gradient(135deg,#f0ca72,#c99735);color:#24180a;box-shadow:0 14px 34px rgba(201,151,53,.24)}.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.quick-panel{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);border-radius:28px;padding:24px;backdrop-filter:blur(16px);box-shadow:0 24px 80px rgba(0,0,0,.18)}.quick-panel h2{margin:0 0 14px;font-size:18px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-grid a{display:grid;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px}.quick-grid span:first-child{font-size:24px}.ticker{position:relative;background:rgba(0,0,0,.23);border-top:1px solid rgba(255,255,255,.1)}.ticker .container{display:flex;gap:16px;align-items:center;padding:12px 0}.ticker strong{background:#d8ae53;color:#2b1b04;border-radius:999px;padding:4px 12px}.stats-row{margin-top:-34px;position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:white;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 22px 70px rgba(15,23,42,.12)}.dark .stats-row,.dark .info-card,.dark .content-band,.dark .side-box,.dark .faq details,.dark .portrait-card{background:#111827;border-color:#334155}.stats-row div{text-align:center}.stats-row strong{display:block;font-size:36px;color:#1e4f8d;font-weight:900}.stats-row span{font-weight:700;color:#64748b}.split-section{display:grid;grid-template-columns:330px 1fr;gap:34px;align-items:center;padding:80px 0}.portrait-card{background:white;border:1px solid #e2e8f0;border-radius:28px;padding:30px;text-align:center;box-shadow:0 14px 50px rgba(15,23,42,.08)}.portrait-card img{width:150px;height:150px;object-fit:contain;margin:auto;background:#fff;border-radius:26px}.split-section h2,.section-head h2,.news-strip h2,.cta-final h2{font-family:Amiri,Tajawal,serif;font-size:clamp(30px,4vw,48px);line-height:1.15;margin:12px 0}.text-link{color:#1e4f8d;font-weight:900}.section-head{margin:20px 0 30px}.section-head span{color:#1e4f8d;font-weight:900}.feature-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card,.info-card{background:white;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 10px 34px rgba(15,23,42,.06);transition:.25s}.feature-card:hover,.info-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(15,23,42,.12)}.feature-card>span{font-size:36px}.feature-card h3,.info-card h3{font-size:22px;margin:12px 0 8px}.feature-card p,.info-card p,.content-band p,.lead,.news-strip p{color:#64748b}.dark .feature-card,.dark .news-strip{background:#111827;border-color:#334155}.dark .feature-card p,.dark .info-card p,.dark .content-band p,.dark .lead,.dark .news-strip p,.dark .stats-row span{color:#94a3b8}.feature-card b{color:#c99735}.news-strip{display:grid;grid-template-columns:.9fr 1.2fr;gap:24px;align-items:center;margin-top:70px;background:white;border:1px solid #e2e8f0;border-radius:28px;padding:34px}.news-list{display:grid;gap:10px}.news-list a{background:#f1f5f9;border-radius:16px;padding:14px 16px;font-weight:800}.dark .news-list a{background:#1e293b}.cta-final{margin-top:80px;padding:70px 0;background:linear-gradient(135deg,#111f45,#1e4f8d);color:white;text-align:center}.cta-final p{max-width:650px;margin:0 auto 24px;color:rgba(255,255,255,.82)}.page-hero-inner{position:relative;padding:70px 0}.breadcrumbs{display:flex;gap:8px;font-size:13px;color:rgba(255,255,255,.72);margin-bottom:14px}.page-layout{display:grid;grid-template-columns:1fr 310px;gap:34px;padding:54px 0}.lead{font-size:20px;margin:0 0 30px}.card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#e8eef8;color:#1e4f8d;font-weight:900}.content-band{background:white;border:1px solid #e2e8f0;border-radius:24px;padding:28px;margin-top:18px}.content-band h2,.faq h2{margin:0 0 12px;font-size:28px}.sidebar{position:sticky;top:100px;align-self:start;display:grid;gap:18px}.side-box,.contact-box{background:white;border:1px solid #e2e8f0;border-radius:22px;padding:20px;box-shadow:0 10px 34px rgba(15,23,42,.06)}.side-box h3,.contact-box h3{margin:0 0 12px}.side-box a{display:block;padding:10px;border-radius:12px;font-weight:700}.side-box a:hover{background:#f1f5f9}.side-box small{display:block;color:#64748b}.contact-box{background:linear-gradient(135deg,#12264f,#1e4f8d);color:white}.faq{margin-top:28px}.faq details{background:white;border:1px solid #e2e8f0;border-radius:18px;padding:16px;margin-top:10px}.faq summary{cursor:pointer;font-weight:900}.site-footer{margin-top:70px;background:linear-gradient(135deg,#081226,#12264f 60%,#1e4f8d);color:white}.footer-newsletter{display:grid;grid-template-columns:1.2fr .9fr;gap:24px;align-items:center;padding-top:48px}.footer-newsletter>div,.footer-newsletter form{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:24px}.footer-newsletter h2{margin:4px 0}.footer-newsletter p{color:rgba(255,255,255,.78)}.footer-newsletter form{display:flex;gap:8px}.footer-newsletter input{flex:1;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:13px 16px;outline:0}.footer-newsletter button{border:0;border-radius:999px;padding:12px 20px;background:#d8ae53;color:#211504;font-weight:900}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px;padding:44px 0}.footer-grid a{display:block;color:rgba(255,255,255,.78);margin:8px 0}.footer-grid a:hover{color:#fff}.footer-about p{color:rgba(255,255,255,.78)}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:62px;height:62px;object-fit:contain;background:white;border-radius:16px;padding:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.72);font-size:13px}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.topbar{display:none}.nav-toggle{display:block}.main-nav{position:fixed;inset:76px 0 auto 0;background:rgba(255,255,255,.98);display:none;max-height:calc(100vh - 76px);overflow:auto;padding:18px;box-shadow:0 24px 60px rgba(15,23,42,.18)}.dark .main-nav{background:#0b1220}.menu-open .main-nav{display:grid}.nav-group>button,.main-nav>a{width:100%;text-align:right;border-radius:14px}.dropdown{position:static;display:grid;box-shadow:none;margin:4px 0 12px}.home-hero-grid,.split-section,.news-strip,.page-layout,.footer-newsletter,.footer-grid{grid-template-columns:1fr}.quick-panel{order:2}.sidebar{position:static}.feature-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.container{width:min(100% - 22px,1180px)}.brand-text small{display:none}.brand{min-width:0}.brand-logo{width:48px;height:48px}.home-hero-grid{padding:50px 0 32px}.hero-search{border-radius:22px;align-items:stretch}.hero-search button{padding-inline:16px}.quick-grid,.feature-grid,.card-grid,.stats-row{grid-template-columns:1fr}.page-hero-inner{padding:48px 0}.page-layout{padding:32px 0}.footer-newsletter form{display:grid}.footer-bottom{display:grid;text-align:center}.split-section{padding:48px 0}}
/* ========== v8 additions: auth, portal, smart cards, QR ========== */
.header-auth{display:flex;gap:.4rem;align-items:center;margin-inline-start:auto}
.btn.small{padding:.4rem .8rem;font-size:.85rem}
.auth-card{max-width:480px;margin:2rem auto;background:#fff;border:1px solid #eee;border-radius:16px;padding:2rem;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.dark .auth-card{background:#1a1f2e;border-color:#2a3040;color:#e5e7eb}
.auth-form label{display:block;margin-bottom:1rem;font-weight:600;color:#0b3d2e}
.dark .auth-form label{color:#94d3b7}
.auth-form input,.auth-form select,.auth-form textarea{width:100%;padding:.7rem;border:1px solid #d0d5dd;border-radius:8px;font-family:inherit;font-size:1rem;margin-top:.4rem}
.dark .auth-form input,.dark .auth-form select,.dark .auth-form textarea{background:#0f1420;color:#e5e7eb;border-color:#2a3040}
.auth-form button{width:100%;padding:.9rem}
.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}
.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.demo-note{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px;font-size:.85rem;color:#475569}
.demo-note code{background:#e2e8f0;padding:.2rem .4rem;border-radius:4px;display:inline-block;margin:.2rem 0}

/* Smart card (page hero card) */
.smart-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:1.2rem;margin:1rem 0 1.5rem;background:linear-gradient(135deg,#0b3d2e 0%,#186f4d 100%);color:#fff;border-radius:14px;box-shadow:0 10px 28px rgba(11,61,46,.25);align-items:center}
.smart-card-head{display:flex;gap:.75rem;align-items:center;grid-column:1/3}
.smart-card-logo{width:52px;height:52px;background:#fff;border-radius:8px;padding:4px}
.smart-card-head small{display:block;opacity:.85;font-size:.75rem}
.smart-card-head strong{display:block;font-size:1.1rem}
.smart-card-badge{background:#f59e0b;color:#0b3d2e;padding:.3rem .7rem;border-radius:20px;font-size:.75rem;font-weight:700;margin-inline-start:auto}
.smart-card-body{grid-column:1/3}
.smart-card-body p{margin:0 0 .5rem}
.smart-card-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;opacity:.9}
.smart-card-qr{grid-column:3;grid-row:1/3;text-align:center}
.smart-card-qr img{width:110px;height:110px;background:#fff;padding:6px;border-radius:10px}
.smart-card-qr small{display:block;color:#fff;margin-top:.3rem;font-size:.75rem}
@media(max-width:640px){.smart-card{grid-template-columns:1fr}.smart-card-qr{grid-column:1;grid-row:auto}}

/* Sidebar QR box */
.qr-box img{background:#fff;padding:8px}

/* Digital ID card (dashboard) */
.id-card{max-width:640px;margin:1rem auto;perspective:1200px}
.id-card-inner{background:linear-gradient(135deg,#0b3d2e,#0f766e 60%,#f59e0b);padding:0;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.15);overflow:hidden;position:relative}
.id-card-strip{height:8px;background:repeating-linear-gradient(90deg,#f59e0b 0 30px,#0b3d2e 30px 60px)}
.id-card-content{background:#fff;margin:8px;border-radius:14px;padding:1.2rem}
.dark .id-card-content{background:#1a1f2e;color:#e5e7eb}
.id-card-header{display:flex;gap:.75rem;align-items:center;border-bottom:2px dashed #e5e7eb;padding-bottom:.75rem}
.id-card-header img{width:56px;height:56px}
.id-card-header small{display:block;font-size:.7rem;color:#6b7280}
.id-card-header strong{display:block;font-size:1rem;color:#0b3d2e}
.dark .id-card-header strong{color:#94d3b7}
.id-badge{display:inline-block;background:#0b3d2e;color:#f59e0b;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;margin-top:.2rem}
.id-card-body{display:grid;grid-template-columns:100px 1fr auto;gap:1rem;align-items:center;padding:1rem 0}
.id-photo{width:100px;height:120px;background:linear-gradient(135deg,#f59e0b,#0b3d2e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;border-radius:8px;font-family:sans-serif}
.id-info{display:grid;gap:.4rem;font-size:.85rem}
.id-info label{color:#6b7280;font-size:.7rem;display:block}
.id-info span{color:#0b3d2e;font-weight:600}
.dark .id-info span{color:#e5e7eb}
.id-qr{text-align:center}
.id-qr img{width:100px;height:100px;background:#fff;padding:4px;border:1px solid #e5e7eb;border-radius:6px}
.id-qr small{display:block;font-size:.65rem;color:#6b7280;margin-top:.2rem}
.id-card-footer{display:flex;justify-content:space-between;font-size:.7rem;color:#6b7280;padding-top:.75rem;border-top:1px dashed #e5e7eb}
.id-actions{text-align:center;margin-top:1rem;display:flex;gap:.5rem;justify-content:center}
@media(max-width:640px){.id-card-body{grid-template-columns:1fr;text-align:center}.id-photo{margin:0 auto}}
@media print{.site-header,.site-footer,.sidebar,.id-actions,.smart-card-qr{display:none!important}.id-card{margin:0}}

/* AI Chat */
.ai-chat{max-width:820px;margin:1rem auto;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.dark .ai-chat{background:#1a1f2e;border-color:#2a3040}
.ai-chat-head{background:linear-gradient(135deg,#0b3d2e,#0f766e);color:#fff;padding:1rem 1.2rem;display:flex;gap:.75rem;align-items:center}
.ai-chat-head .avatar{width:44px;height:44px;background:#f59e0b;color:#0b3d2e;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;font-weight:900}
.ai-chat-head strong{display:block}
.ai-chat-head small{opacity:.85}
.ai-messages{padding:1rem;height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;background:#f8fafc}
.dark .ai-messages{background:#0f1420}
.ai-msg{max-width:75%;padding:.7rem 1rem;border-radius:14px;line-height:1.6;font-size:.92rem}
.ai-msg.user{background:#0b3d2e;color:#fff;align-self:flex-start;border-bottom-left-radius:4px}
.ai-msg.bot{background:#fff;color:#0f172a;align-self:flex-end;border:1px solid #e5e7eb;border-bottom-right-radius:4px}
.dark .ai-msg.bot{background:#1a1f2e;color:#e5e7eb;border-color:#2a3040}
.ai-suggestions{padding:.75rem 1rem;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:.5rem;flex-wrap:wrap}
.dark .ai-suggestions{background:#1a1f2e;border-color:#2a3040}
.ai-suggestions button{background:#f0fdf4;color:#0b3d2e;border:1px solid #bbf7d0;padding:.4rem .8rem;border-radius:20px;font-size:.8rem;cursor:pointer}
.ai-suggestions button:hover{background:#0b3d2e;color:#fff}
.ai-input{display:flex;padding:.75rem;gap:.5rem;background:#fff;border-top:1px solid #e5e7eb}
.dark .ai-input{background:#1a1f2e;border-color:#2a3040}
.ai-input input{flex:1;padding:.7rem;border:1px solid #d0d5dd;border-radius:8px;font-family:inherit}
.dark .ai-input input{background:#0f1420;color:#e5e7eb;border-color:#2a3040}
.ai-input button{background:#0b3d2e;color:#fff;padding:.7rem 1.2rem;border:0;border-radius:8px;cursor:pointer;font-weight:700}
.typing::after{content:'●●●';animation:blink 1.4s infinite}
@keyframes blink{0%,50%{opacity:.3}25%{opacity:1}}
