@import url('https://fonts.googleapis.com/css2?family=Noto+Kufi+Arabic:wght@500;600;700&family=Tajawal:wght@400;500;700&display=swap');

:root {
  --dman-green: #173f2d;
  --dman-green-2: #24533d;
  --dman-cream: #e3ddcc;
  --dman-paper: #f7f3e9;
  --dman-terra: #b75d3a;
  --dman-line: #c9c1ad;
  --dman-ink: #17372b;
}

body.dman-portal-page { margin: 0 !important; background: var(--dman-cream) !important; }
body.dman-portal-page .site-header,
body.dman-portal-page #masthead,
body.dman-portal-page .wp-site-blocks > header,
body.dman-portal-page header.wp-block-template-part,
body.dman-portal-page .entry-header,
body.dman-portal-page .page-header,
body.dman-portal-page .wp-block-post-title,
body.dman-portal-page h1.entry-title { display: none !important; }
body.dman-portal-page .site,
body.dman-portal-page .site-content,
body.dman-portal-page .content-area,
body.dman-portal-page .wp-site-blocks,
body.dman-portal-page main,
body.dman-portal-page article,
body.dman-portal-page .entry-content,
body.dman-portal-page .wp-block-post-content { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: var(--dman-cream) !important; }
body.dman-portal-page .wp-site-blocks > footer,
body.dman-portal-page footer.wp-block-template-part,
body.dman-portal-page .site-footer { display: none !important; }
body.dman-portal-page .dman-form-shell { margin-top: 38px; margin-bottom: 38px; }

.dman-form-shell,
.dman-admin { font-family: 'Tajawal', sans-serif; color: var(--dman-ink); }
.dman-form-shell * { box-sizing: border-box; }
.dman-form-shell { max-width: 1080px; margin: 34px auto; background: var(--dman-cream); border: 1px solid var(--dman-line); border-radius: 26px; overflow: hidden; box-shadow: 0 24px 70px rgba(23,63,45,.16); }
.dman-public-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 96px; padding: 15px 48px; background: #f7f3e9; border-bottom: 1px solid rgba(23,63,45,.12); }
.dman-public-brand { display: inline-flex; align-items: center; max-width: 390px; }
.dman-public-brand img { display: block; width: 100%; height: 66px; object-fit: contain; object-position: right center; }
.dman-site-link { display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border: 1px solid rgba(23,63,45,.24); border-radius: 999px; color: var(--dman-green) !important; background: transparent; font-weight: 700; text-decoration: none !important; white-space: nowrap; transition: .2s ease; }
.dman-site-link:hover { color: #fff !important; background: var(--dman-green); border-color: var(--dman-green); }
.dman-form-header { position: relative; isolation: isolate; padding: 52px 48px 42px; color: #fff; overflow: hidden; background: radial-gradient(circle at 10% 5%, rgba(227,221,204,.16), transparent 32%), linear-gradient(135deg, #173f2d 0%, #0f3425 100%); }
.dman-form-header::after { content: ''; position: absolute; z-index: -1; inset: auto -110px -180px auto; width: 390px; height: 390px; border: 42px solid rgba(227,221,204,.07); border-radius: 50%; }
.dman-form-header h1, .dman-section-title h2, .dman-admin h1, .dman-admin h2 { font-family: 'Noto Kufi Arabic', sans-serif; }
.dman-form-header h1 { margin: 10px 0; color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.5; }
.dman-form-header p { margin: 0; font-size: 18px; color: #eae5d7; }
.dman-eyebrow { display: inline-block; color: #f0be9f; font-weight: 700; }
.dman-process { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 30px; }
.dman-process span { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; color: #f5f1e7; background: rgba(255,255,255,.06); font-weight: 500; }
.dman-process b { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; color: #fff; background: var(--dman-terra); font-size: 12px; }
.dman-application-form { padding: 38px 48px 44px; }
.dman-section-title { display: flex; align-items: center; gap: 12px; margin: 6px 0 22px; }
.dman-section-title + .dman-grid { margin-bottom: 34px; }
.dman-section-title span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--dman-terra); font-weight: 700; }
.dman-section-title h2 { margin: 0; font-size: 20px; }
.dman-grid { display: grid; gap: 20px; }
.dman-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dman-span-2 { grid-column: 1 / -1; }
.dman-form-shell label, .dman-admin-card label { display: grid; gap: 8px; font-weight: 700; }
.dman-form-shell label b, .dman-admin-card label b { color: var(--dman-terra); }
.dman-form-shell label small, .dman-admin-card label small { color: #6d6a60; font-weight: 400; }
.dman-form-shell input:not([type="checkbox"]), .dman-form-shell select, .dman-form-shell textarea,
.dman-admin-card input, .dman-admin-card select, .dman-admin-card textarea { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #bcb39f; border-radius: 9px; background: #fffdf8; font-family: inherit; font-size: 16px; }
.dman-form-shell input:focus, .dman-form-shell textarea:focus, .dman-admin-card input:focus, .dman-admin-card textarea:focus { border-color: var(--dman-green); outline: 3px solid rgba(23,63,45,.12); }
.dman-total { display: flex; justify-content: center; align-items: baseline; gap: 10px; margin: 8px 0 30px; padding: 20px; border-radius: 14px; color: #fff; background: var(--dman-green); }
.dman-total strong { font: 700 34px 'Noto Kufi Arabic', sans-serif; color: #fff; }
.dman-membership-fee { display: flex; align-items: flex-start; gap: 15px; margin: 6px 0 22px; padding: 19px 21px; border: 1px solid rgba(183,93,58,.34); border-right: 5px solid var(--dman-terra); border-radius: 13px; background: #fff8ee; box-shadow: 0 7px 20px rgba(23,63,45,.06); }
.dman-membership-fee-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--dman-terra); font: 700 19px/1 Georgia, serif; }
.dman-membership-fee h3 { margin: 0 0 7px; color: var(--dman-green); font: 700 17px/1.7 'Noto Kufi Arabic', sans-serif; }
.dman-membership-fee p { margin: 0; color: #4f4b42; font-size: 16px; line-height: 1.9; }
.dman-membership-fee strong { color: var(--dman-terra); font-size: 18px; }
.dman-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; margin: 22px 0; font-weight: 500 !important; }
.dman-consent input { margin-top: 5px; transform: scale(1.15); accent-color: var(--dman-green); }
.dman-fee-consent { margin-bottom: -10px; }
.dman-primary-button { width: 100%; padding: 16px 22px; border: 0; border-radius: 11px; color: #fff; background: var(--dman-green); box-shadow: 0 10px 22px rgba(23,63,45,.18); font: 700 18px 'Tajawal', sans-serif; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.dman-primary-button:hover { background: var(--dman-green-2); box-shadow: 0 13px 28px rgba(23,63,45,.25); transform: translateY(-1px); }
.dman-privacy-note { margin: 14px 0 0; text-align: center; color: #6d6a60; }
.dman-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.dman-alert { margin: 28px 48px 0; padding: 15px 18px; border-radius: 10px; font-weight: 700; }
.dman-alert-success { color: #155b35; background: #dff3e7; border: 1px solid #a8d9ba; }
.dman-alert-error { color: #8f271f; background: #f8e0dc; border: 1px solid #e5b0a8; }
.dman-public-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 19px 48px; color: #dcd6c7; background: #102f22; font-size: 14px; }
.dman-public-footer a { color: #f0be9f !important; text-decoration: none !important; font-weight: 700; }

.dman-admin { max-width: 1380px; }
.dman-admin h1 { color: var(--dman-green); }
.dman-admin-brand { display: flex; align-items: center; gap: 24px; margin: 16px 0 22px; padding: 18px 24px; border-right: 5px solid var(--dman-terra); border-radius: 14px; background: linear-gradient(120deg, #f7f3e9, #fff); box-shadow: 0 7px 24px rgba(23,63,45,.08); }
.dman-admin-brand img { width: 290px; max-width: 35%; height: 82px; object-fit: contain; object-position: right center; }
.dman-admin-brand h1 { margin: 0 0 5px !important; padding: 0 !important; font-size: 25px !important; line-height: 1.5 !important; }
.dman-admin-brand p { margin: 0; color: #6d6a60; font-size: 15px; }
.dman-page-title { margin: 18px 0 !important; color: var(--dman-green); font-family: 'Noto Kufi Arabic', sans-serif; }
.dman-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin: 22px 0; }
.dman-stats > div { padding: 20px; border: 1px solid #d0c8b7; border-radius: 12px; background: #fff; box-shadow: 0 4px 16px rgba(23,63,45,.06); }
.dman-stats span { display: block; color: #666; }
.dman-stats strong { display: block; margin-top: 8px; font-size: 28px; color: var(--dman-green); }
.dman-filters { display: flex; gap: 10px; margin: 18px 0; }
.dman-filters input[type="search"] { min-width: 320px; }
.dman-table-wrap { overflow-x: auto; border: 1px solid #d0c8b7; border-radius: 12px; background: #fff; }
.dman-table { border: 0; }
.dman-status { display: inline-block; padding: 5px 10px; border-radius: 999px; font-weight: 700; white-space: nowrap; }
.dman-status-pending { color: #875c0d; background: #fff0c7; }
.dman-status-accepted { color: #155b35; background: #dff3e7; }
.dman-status-rejected { color: #8f271f; background: #f8e0dc; }
.dman-back { display: inline-block; margin: 14px 0; }
.dman-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.dman-admin-card { padding: 24px; border: 1px solid #d0c8b7; border-radius: 14px; background: #fff; box-shadow: 0 5px 20px rgba(23,63,45,.05); }
.dman-admin-card h2 { margin-top: 0; color: var(--dman-green); }
.dman-details { display: grid; gap: 0; }
.dman-details div { display: grid; grid-template-columns: 150px 1fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid #eee8db; }
.dman-details dt { color: #666; }
.dman-details dd { margin: 0; font-weight: 700; }
.dman-actions { display: grid; gap: 10px; margin-top: 22px; }
.dman-reject-button { color: #8f271f !important; border-color: #c95a50 !important; }
.dman-history { margin-top: 20px; overflow-x: auto; }

/* Member portal and digital membership card */
.dman-member-header { padding-bottom: 34px; }
.dman-login-form { max-width: 650px; margin: 0 auto; display: grid; gap: 20px; }
.dman-security-card, .dman-member-panel { margin: 34px 48px; padding: 30px; border: 1px solid var(--dman-line); border-radius: 18px; background: #f8f4ea; }
.dman-security-card h2, .dman-member-panel h2 { margin-top: 0; color: var(--dman-green); font-family: 'Noto Kufi Arabic', sans-serif; }
.dman-security-card form { display: grid; gap: 18px; margin-top: 24px; }
.dman-alert-pending { color: #78510a; background: #fff0c7; border: 1px solid #e2c46e; }
.dman-digital-card { margin: 34px 48px; overflow: hidden; border: 1px solid rgba(23,63,45,.22); border-radius: 22px; background: #fffdf8; box-shadow: 0 18px 45px rgba(23,63,45,.13); }
.dman-card-top { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 20px; padding: 24px 28px; color: #fff; background: linear-gradient(125deg, #173f2d, #0f3425); }
.dman-card-top > img { display: block; width: 145px; height: 70px; padding: 6px; object-fit: contain; border-radius: 10px; background: #f7f3e9; }
.dman-card-top small { color: #f0be9f; }
.dman-card-top h2 { margin: 6px 0 0; color: #fff; font: 700 18px/1.7 'Noto Kufi Arabic', sans-serif; }
.dman-card-active { padding: 8px 13px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #173f2d; background: #dff3e7; font-weight: 700; white-space: nowrap; }
.dman-card-body { display: grid; grid-template-columns: 1fr 190px; gap: 30px; align-items: center; padding: 30px; }
.dman-card-identity > span { display: block; color: #777164; font-size: 13px; }
.dman-card-identity > strong { display: block; margin: 5px 0 20px; color: var(--dman-green); font: 700 25px/1.6 'Noto Kufi Arabic', sans-serif; }
.dman-card-identity dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; }
.dman-card-identity dl div { padding: 12px 14px; border: 1px solid #e2dac9; border-radius: 11px; background: #f8f4ea; }
.dman-card-identity dt { color: #777164; font-size: 13px; }
.dman-card-identity dd { margin: 5px 0 0; color: var(--dman-ink); font-weight: 700; }
.dman-card-qr { display: grid; justify-items: center; gap: 7px; }
.dman-card-qr img { display: block; width: 170px; height: 170px; padding: 7px; border: 1px solid #d7cebc; border-radius: 12px; background: #fff; }
.dman-card-qr small { color: #6d6a60; }
.dman-card-flock { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid #e4dccb; border-bottom: 1px solid #e4dccb; background: #f8f4ea; }
.dman-card-flock div { padding: 17px 10px; text-align: center; border-left: 1px solid #e4dccb; }
.dman-card-flock div:last-child { border-left: 0; }
.dman-card-flock span { display: block; color: #716b5e; font-size: 12px; }
.dman-card-flock b { display: block; margin-top: 6px; color: var(--dman-green); font-size: 24px; }
.dman-card-flock .dman-card-total { color: #fff; background: var(--dman-terra); }
.dman-card-flock .dman-card-total span, .dman-card-flock .dman-card-total b { color: #fff; }
.dman-card-note { margin: 0; padding: 16px 28px; color: #6d6a60; font-size: 13px; text-align: center; }
.dman-card-actions { display: flex; justify-content: center; gap: 10px; margin: 0; padding: 0 28px 22px; }
.dman-card-actions a, .dman-card-actions button { padding: 10px 14px; border: 1px solid var(--dman-green); border-radius: 9px; color: var(--dman-green); background: transparent; font-family: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.dman-member-panel .dman-application-form { padding: 10px 0 0; }
.dman-member-logout { margin: 0 48px 28px; text-align: left; }
.dman-member-logout a { color: #8f271f; font-weight: 700; }
.dman-inline-review { display: flex; flex-wrap: wrap; gap: 6px; min-width: 280px; }
.dman-inline-review input { min-width: 130px; }

@media print {
  body.dman-portal-page * { visibility: hidden !important; }
  body.dman-portal-page .dman-digital-card, body.dman-portal-page .dman-digital-card * { visibility: visible !important; }
  body.dman-portal-page .dman-digital-card { position: absolute; inset: 0; width: 100%; margin: 0; box-shadow: none; }
  .dman-card-actions { display: none !important; }
}

@media (max-width: 782px) {
  .dman-form-shell { margin: 12px; border-radius: 16px; }
  .dman-public-nav { min-height: 78px; padding: 12px 20px; }
  .dman-public-brand { max-width: 235px; }
  .dman-public-brand img { height: 50px; }
  .dman-site-link { width: 42px; height: 42px; justify-content: center; padding: 0; font-size: 0; }
  .dman-site-link span { font-size: 20px; }
  .dman-form-header, .dman-application-form { padding: 30px 22px; }
  .dman-membership-fee { padding: 16px; }
  .dman-process { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }
  .dman-process span { min-height: 48px; }
  .dman-alert { margin: 20px 22px 0; }
  .dman-grid-2, .dman-detail-grid, .dman-stats { grid-template-columns: 1fr; }
  .dman-span-2 { grid-column: auto; }
  .dman-filters { flex-direction: column; }
  .dman-filters input[type="search"] { min-width: 0; width: 100%; }
  .dman-details div { grid-template-columns: 1fr; gap: 4px; }
  .dman-public-footer { padding: 18px 22px; }
  .dman-admin-brand { align-items: flex-start; flex-direction: column; gap: 10px; padding: 16px; }
  .dman-admin-brand img { width: 260px; max-width: 100%; height: 70px; }
  .dman-security-card, .dman-member-panel, .dman-digital-card { margin: 22px; }
  .dman-card-top { grid-template-columns: 105px 1fr; padding: 18px; }
  .dman-card-top > img { width: 105px; height: 58px; }
  .dman-card-top h2 { font-size: 14px; }
  .dman-card-active { grid-column: 1 / -1; justify-self: start; }
  .dman-card-body { grid-template-columns: 1fr; padding: 22px; }
  .dman-card-identity dl { grid-template-columns: 1fr; }
  .dman-card-flock { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dman-card-flock .dman-card-total { grid-column: 1 / -1; }
  .dman-member-logout { margin: 0 22px 24px; }
}
