:root{--bg:#f3f4f6;--card:#fff;--border:#d6dde8;--text:#111827;--muted:#475569;--accent:#0f766e;--danger:#b91c1c}
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;font-family:"Times New Roman",Times,Cambria,serif;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
    body{min-height:100vh;min-height:100dvh;overflow-x:hidden}
    .screen{max-width:1120px;margin:0 auto;padding:24px max(14px,env(safe-area-inset-left)) 46px max(14px,env(safe-area-inset-right))}
    .header{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:16px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
    .header h1{font-size:25px;margin:0 0 8px;font-weight:800}
    .site-title{color:#b91c1c}
    .site-hadith{margin:6px 0 0;color:#111827;line-height:1.9;font-size:14px;font-weight:700}
    .site-hadith small{color:var(--muted);font-weight:700}
    .header p{margin:0;color:var(--muted);line-height:1.8;font-size:14px}
    .privacy{background:#ecfeff;border:1px solid #a5f3fc;color:#164e63;border-radius:14px;padding:12px 14px;margin-top:14px;line-height:1.8;font-size:14px}

.eligibility-alert{margin-top:10px;border:1px solid #fecaca;background:#fff7ed;color:#7f1d1d;border-radius:14px;padding:10px 13px;line-height:1.75;font-size:13.2px;font-weight:800;text-align:right}
.eligibility-alert strong{color:#b91c1c;font-weight:900}
    .card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
    .card h2{font-size:18px;margin:0 0 14px;border-right:5px solid var(--accent);padding-right:10px}
    .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
    .field{display:flex;flex-direction:column;gap:6px}.field.half{grid-column:span 2}.field.full{grid-column:1/-1}
    label{font-weight:700;font-size:13px;line-height:1.35;color:#111827}
    .inline-note-label{white-space:nowrap;overflow:visible}
    input,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:12px 11px;font-size:16px;font-family:inherit;font-weight:800;outline:none;background:white;color:#000;-webkit-appearance:none;appearance:none;touch-action:manipulation}
    textarea{min-height:42px;resize:vertical;overflow:hidden;line-height:1.65}
    #referenceDetails,#documentDetails{min-height:76px;font-weight:900}
    input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
    .actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;margin:14px 0}
    button{border:0;border-radius:10px;padding:9px 12px;min-height:40px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;background:#e2e8f0;color:#0f172a;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap}
    button.primary{background:var(--accent);color:#fff} button.danger{background:#fee2e2;color:var(--danger)} button.share{background:#dbeafe;color:#1e3a8a} button:hover{filter:brightness(.98)}
    .hint{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
    .census-field{position:relative}
    .label-note{display:inline-block;font-size:9px;line-height:1;font-weight:900;color:#b91c1c;margin-inline-start:4px;white-space:nowrap;vertical-align:baseline;letter-spacing:-.12px}
    .label-note.danger-note{color:#b91c1c}
    .label-note.census-note{font-size:7.0px;letter-spacing:-.28px;margin-inline-start:3px}
    .material-note{grid-column:1/-1;margin:0 0 2px;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#f8fafc;color:#111827;font-size:15px;line-height:1.7;font-weight:800}
    .preview-wrap{display:none!important;direction:ltr;overflow:auto;background:#dfe5ee;border:1px solid var(--border);border-radius:16px;padding:18px;margin-top:18px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
    .preview-wrap.active{display:none!important}

    /* الشكل النهائي - مطابق قدر الإمكان للنموذج المرجعي المرفق */
    .print-sheet{width:210mm;min-height:297mm;margin:0 auto;background:white;direction:rtl;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:22.5mm 11.8mm 0;overflow:hidden}
    .final-table{width:186.4mm;margin:0 auto;border-collapse:collapse;table-layout:fixed;font-size:9.9pt;line-height:1.05;color:#000;font-family:"Times New Roman",Times,Cambria,serif;font-weight:700}
    .final-table td{border:.75pt solid #777;text-align:center;vertical-align:middle;padding:.45mm .45mm;white-space:normal;word-break:normal;overflow-wrap:break-word;overflow:hidden;color:#000}
    .final-table .lbl{font-weight:700;font-size:10.0pt;line-height:1.05;background:#eeeeee;color:#000}
    .nowrap{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;overflow:hidden!important;text-overflow:clip!important}
    .fit-label{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;overflow:hidden!important;text-overflow:clip!important;font-size:9.2pt!important;letter-spacing:-.05px!important;padding-left:.25mm!important;padding-right:.25mm!important;background:#eeeeee!important;color:#000!important}
    label.nowrap{white-space:nowrap}
    .final-table .value{font-weight:700;font-size:10.0pt;white-space:pre-wrap;line-height:1.12;background:#fff;color:#000}
    .final-table .section{font-weight:700;background:#eeeeee;font-size:9.9pt;line-height:1.05;padding:.45mm .55mm;border:.75pt solid #777!important;color:#000}
    .section-nowrap{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:9.15pt!important;line-height:1.05!important;letter-spacing:-.05px!important}
    .section-box{border:.75pt solid #777!important}
    .final-table .work-title{font-weight:700;background:#eeeeee;font-size:10.8pt;letter-spacing:0;padding:.45mm .55mm;line-height:1.05;color:#000}
    .contact-line{background:#fff!important;text-align:right!important;font-weight:700;font-size:9.9pt;line-height:1.05;padding:0 .9mm!important;white-space:nowrap!important}
    .contact-flex{display:flex;direction:rtl;align-items:center;width:100%;height:100%;white-space:nowrap;gap:0}
    .contact-label{flex:0 0 auto;white-space:nowrap}
    .contact-slot{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip;padding:0 1.2mm;line-height:1.05}
    .ref-detail-value,.doc-detail-value{font-size:9.7pt;line-height:1.1;text-align:center;vertical-align:middle;padding:.6mm .8mm!important}
    .r-top-label{height:6.22mm}.r-top-value{height:7.75mm}.r-second-label{height:6.22mm}.r-second-value{height:7.87mm}.r-third-label{height:10.92mm}.r-third-value{height:6.86mm}
    .r-contact-line{height:4.83mm}.r-edu-section{height:7.37mm}.r-edu-label{height:5.46mm}.r-edu-value{height:7.37mm}
    .r-mat-section{height:5.59mm}.r-mat-label{height:5.46mm}.r-mat-value{height:8.51mm}.r-work-title{height:5.59mm}.r-work-label{height:16.76mm}.r-work-value{height:7.37mm}
    .r-ref-title{height:5.46mm}.r-ref-label{height:5.59mm}.r-ref-value{height:10.8mm}.r-doc-title{height:5.59mm}.r-doc-label{height:5.59mm}.r-doc-value{height:10.8mm}
    .signatures{position:relative;height:110mm;font-family:"Times New Roman",Times,Cambria,serif;color:#000;font-weight:700;font-size:11.2pt;line-height:1}
    .sig-right{position:absolute;right:0;top:3.9mm;text-align:right}.sig-center{position:absolute;left:0;right:0;top:22.0mm;text-align:center}

    @media(max-width:900px){
      .screen{padding-top:14px}
      .header{padding:15px 14px;border-radius:14px}
      .card{padding:14px;border-radius:14px}
      .field.half{grid-column:auto}
      .actions{position:sticky;bottom:0;z-index:20;background:rgba(243,244,246,.96);padding:8px 0;margin:12px 0 0;backdrop-filter:blur(6px);gap:6px}
      .preview-wrap{padding:10px;border-radius:12px}
      .print-sheet{transform-origin:top center}
    }
    @media(max-width:560px){
      .label-note{font-size:8.4px;margin-inline-start:3px}
      .label-note.census-note{font-size:6.9px}
      .screen{padding-left:10px;padding-right:10px}
      .header h1{font-size:21px}
      .header p,.privacy,.hint{font-size:13px}
      .grid{grid-template-columns:1fr}
      .field.half{grid-column:auto}
      .actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
      .actions button{width:100%;padding:8px 4px;min-height:38px;font-size:13px;border-radius:9px}
      .preview-wrap{padding:6px;margin-left:-4px;margin-right:-4px}
      label.nowrap{font-size:12px}
    }
    @media(max-width:340px){
      .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
      .actions button{font-size:13px;min-height:37px}
    }


    @page{size:A4 portrait;margin:0}
    @media print{
      html,body{width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
      .screen,.header,.card,.actions,.privacy,.hint,.no-print{display:none!important}
      .preview-wrap{display:block!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;overflow:visible!important;border-radius:0!important}
      .print-sheet{display:block!important;margin:0!important;padding:22.5mm 11.8mm 0!important;box-shadow:none!important;transform:none!important;width:210mm!important;height:296mm!important;min-height:296mm!important;max-height:296mm!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important;overflow:hidden!important}
      .final-table td,.final-table .lbl,.final-table .section,.final-table .work-title,.fit-label,.contact-line{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#000!important}
    }

.final-table col{width:8.333%}

.visitor-counter{margin-top:10px;border:1px solid #d1d5db;background:#f8fafc;color:#111827;border-radius:12px;padding:9px 12px;font-size:14px;line-height:1.6;font-weight:800;text-align:center}
.visitor-counter strong{font-weight:900;direction:ltr;unicode-bidi:isolate;display:inline-block}

/* v48: compact header counter + session-only light/dark mode */
:root{
  color-scheme:light dark;
  --field-bg:#ffffff;
  --field-text:#000000;
  --field-border:#cbd5e1;
  --privacy-bg:#ecfeff;
  --privacy-border:#a5f3fc;
  --privacy-text:#164e63;
  --note-bg:#f8fafc;
  --button-bg:#e2e8f0;
  --button-text:#0f172a;
  --share-bg:#dbeafe;
  --share-text:#1e3a8a;
  --danger-bg:#fee2e2;
  --counter-bg:#f8fafc;
  --sticky-bg:rgba(243,244,246,.96);
  --shadow:0 10px 24px rgba(15,23,42,.06);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f172a;
    --card:#111827;
    --border:#334155;
    --text:#f8fafc;
    --muted:#cbd5e1;
    --accent:#14b8a6;
    --danger:#fecaca;
    --field-bg:#0b1220;
    --field-text:#ffffff;
    --field-border:#475569;
    --privacy-bg:#0f2f37;
    --privacy-border:#155e75;
    --privacy-text:#d5fbff;
    --note-bg:#0b1220;
    --button-bg:#334155;
    --button-text:#f8fafc;
    --share-bg:#1e3a8a;
    --share-text:#dbeafe;
    --danger-bg:#7f1d1d;
    --counter-bg:#0b1220;
    --alert-bg:#331313;
    --alert-border:#7f1d1d;
    --alert-text:#fecaca;
    --sticky-bg:rgba(15,23,42,.94);
    --shadow:0 10px 24px rgba(0,0,0,.28);
  }
}
:root[data-theme="dark"]{
  --bg:#0f172a;
  --card:#111827;
  --border:#334155;
  --text:#f8fafc;
  --muted:#cbd5e1;
  --accent:#14b8a6;
  --danger:#fecaca;
  --field-bg:#0b1220;
  --field-text:#ffffff;
  --field-border:#475569;
  --privacy-bg:#0f2f37;
  --privacy-border:#155e75;
  --privacy-text:#d5fbff;
  --note-bg:#0b1220;
  --button-bg:#334155;
  --button-text:#f8fafc;
  --share-bg:#1e3a8a;
  --share-text:#dbeafe;
  --danger-bg:#7f1d1d;
  --counter-bg:#0b1220;
  --alert-bg:#331313;
  --alert-border:#7f1d1d;
  --alert-text:#fecaca;
  --sticky-bg:rgba(15,23,42,.94);
  --shadow:0 10px 24px rgba(0,0,0,.28);
}
html[data-theme="dark"] .label-note,html[data-theme="dark"] .label-note.danger-note{color:#fecaca}
:root[data-theme="light"]{
  --bg:#f3f4f6;
  --card:#ffffff;
  --border:#d6dde8;
  --text:#111827;
  --muted:#475569;
  --accent:#0f766e;
  --danger:#b91c1c;
}
.header,.card{box-shadow:var(--shadow)}
.header-top{display:grid;grid-template-columns:minmax(82px,96px) minmax(0,1fr) minmax(82px,96px);align-items:center;gap:8px;direction:ltr;margin-bottom:6px}
.header h1.site-title{grid-column:2;margin:0;text-align:center;direction:rtl;color:#b91c1c;font-size:25px;font-weight:900;line-height:1.25}
.theme-toggle{grid-column:3;justify-self:end;width:38px;height:34px;min-height:34px;padding:0;border-radius:999px;font-size:18px;line-height:1;background:var(--button-bg);color:var(--button-text);border:1px solid var(--border)}
.visitor-counter{grid-column:1;justify-self:start;margin:0;border:1px solid var(--border);background:var(--counter-bg);color:var(--text);border-radius:999px;padding:0 9px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:13px;line-height:1;font-weight:900;text-align:center;direction:ltr;unicode-bidi:isolate;white-space:nowrap;max-width:100%}
.visitor-counter[hidden]{display:none!important}
.visitor-counter strong{font-weight:900;direction:ltr;unicode-bidi:isolate;display:inline-block}
.site-hadith{color:var(--text)!important;text-align:center}
.benefit-prayer{margin:3px 0 0!important;text-align:center;color:var(--muted)!important;font-size:13px!important;line-height:1.55!important;font-weight:800}
.site-hadith small,.header p{color:var(--muted)!important}
.privacy{background:var(--privacy-bg)!important;border-color:var(--privacy-border)!important;color:var(--privacy-text)!important;margin-top:10px}
.eligibility-alert{background:var(--alert-bg,#fff7ed)!important;border-color:var(--alert-border,#fecaca)!important;color:var(--alert-text,#7f1d1d)!important}
.card{background:var(--card);border-color:var(--border)}
.card h2,label{color:var(--text)!important}
input,textarea{background:var(--field-bg)!important;color:var(--field-text)!important;border-color:var(--field-border)!important}
.material-note{background:var(--note-bg)!important;border-color:var(--border)!important;color:var(--text)!important}
button{background:var(--button-bg);color:var(--button-text)}
button.share{background:var(--share-bg);color:var(--share-text)}
button.danger{background:var(--danger-bg);color:var(--danger)}
@media(max-width:900px){.actions{background:var(--sticky-bg)!important}}
@media(max-width:560px){
  .header-top{grid-template-columns:minmax(70px,82px) minmax(0,1fr) minmax(70px,82px);gap:5px;margin-bottom:5px}
  .header h1.site-title{font-size:20px;line-height:1.25}
  .visitor-counter{font-size:12px;min-height:31px;padding:0 7px;gap:3px}
  .theme-toggle{width:34px;height:31px;min-height:31px;font-size:17px}
  .benefit-prayer{font-size:12px!important;line-height:1.45!important;margin-top:2px!important}
  .privacy{font-size:12.5px!important;line-height:1.7;padding:10px 11px}
  .eligibility-alert{font-size:12px!important;line-height:1.65;padding:9px 10px;margin-top:8px}
}
@media(max-width:360px){
  .header-top{grid-template-columns:64px minmax(0,1fr) 64px;gap:4px}
  .header h1.site-title{font-size:18px}
  .visitor-counter{font-size:11px;padding:0 5px;min-height:29px}
  .theme-toggle{width:31px;height:29px;min-height:29px;font-size:16px}
}

/* v50: compact contact and suggestions section */
.contact-card{margin-top:6px}
.contact-card h2{margin-bottom:8px}
.contact-note{margin:0 0 10px!important;color:var(--muted)!important;font-size:13px!important;line-height:1.7!important;font-weight:700}
.contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.contact-links a{display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--border);background:var(--button-bg);color:var(--button-text);border-radius:11px;min-height:40px;padding:8px 10px;font-size:14px;font-weight:900;line-height:1.2}

/* v61: النموذج الأول يعود لمواضعه الأصلية، والنموذج الثاني فقط يستخدم المواضع الجديدة */
.output-options-card{margin-top:6px;padding-bottom:14px}
.output-options-card h2{margin-bottom:8px}
.option-help{margin:0 0 10px!important;color:var(--muted)!important;font-size:13px!important;line-height:1.6!important;font-weight:800}
.form-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.style-choice{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--note-bg);cursor:pointer;min-height:58px;color:var(--text)!important}
.style-choice input[type="radio"]{width:18px!important;height:18px!important;min-width:18px!important;margin:2px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important;appearance:auto!important;-webkit-appearance:radio!important;accent-color:var(--accent);background:transparent!important;cursor:pointer}
.style-choice span{display:flex;flex-direction:column;gap:2px;min-width:0}
.style-choice strong{font-size:13px;line-height:1.35;font-weight:900;color:var(--text)}
.style-choice small{font-size:12px;line-height:1.45;font-weight:800;color:var(--muted)}
.output-options-card.need-choice{outline:3px solid rgba(185,28,28,.18);outline-offset:2px}
.sig-left{position:absolute;left:0;top:3.9mm;text-align:left}.signatures.signature-separate .sig-right{right:18mm;top:10.5mm}.signatures.signature-separate .sig-left{left:18mm;top:10.5mm}.signatures.signature-separate .sig-center{top:37.5mm}
@media(max-width:560px){.form-style-options{grid-template-columns:1fr}.output-options-card{padding:12px}.option-help{font-size:12.5px!important}.style-choice{min-height:52px;padding:9px}.style-choice strong{font-size:12.5px}.style-choice small{font-size:11.5px}}
.contact-links a:focus{outline:none;box-shadow:0 0 0 3px rgba(15,118,110,.16);border-color:var(--accent)}
@media(max-width:560px){
  .contact-card{padding:12px!important;margin-bottom:12px}
  .contact-note{font-size:12.3px!important;line-height:1.6!important}
  .contact-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .contact-links a{font-size:12.5px;min-height:36px;padding:7px 4px;border-radius:9px}
}
@media(max-width:340px){
  .contact-links{grid-template-columns:1fr}
}
