:root { --ink:#202922; --paper:#f3efe4; --white:#fffefa; --green:#1f5546; --green-dark:#143b31; --green-light:#e3eee8; --gold:#a77d2d; --gold-light:#f5ecd8; --red:#8d342d; --red-light:#f8e6e2; --line:#d7d0c2; --muted:#677069; --shadow:0 18px 44px rgba(30,42,35,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Segoe UI",Tahoma,Arial,sans-serif; }
a { color:inherit; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:14px clamp(22px,5vw,74px); background:rgba(255,254,250,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:43px; height:43px; display:grid; place-items:center; background:var(--green); color:white; border-radius:50%; font:700 24px/1 Georgia,serif; }
.brand strong,.brand small { display:block; }.brand strong { font:700 19px/1.1 Georgia,serif; letter-spacing:.08em; }.brand small { margin-top:4px; color:var(--muted); font-size:10px; }
.top-nav { display:flex; align-items:center; gap:23px; font-size:13px; }.top-nav a { text-decoration:none; }.top-nav a.active,.top-nav a:hover { color:var(--green); text-decoration:underline; text-underline-offset:5px; }
.local-badge { padding:6px 10px; border:1px solid var(--gold); color:#765718; font:700 9px/1.2 "Courier New",monospace; letter-spacing:.05em; }
.eyebrow,.section-kicker { margin:0 0 10px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.04em; }
.home-hero { min-height:610px; display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:center; gap:70px; padding:80px clamp(24px,7vw,110px); background:linear-gradient(135deg,#fffefa 0%,#f3efe4 70%); }
.home-hero h1,.catalog-hero h1,.detail-hero h1,.admin-intro h1 { margin:0; font:700 clamp(42px,6vw,78px)/1.05 Georgia,"Times New Roman",serif; }.home-hero h1 span { color:var(--green); }.hero-lead { max-width:720px; margin:28px 0; color:var(--muted); font-size:18px; line-height:1.9; }
.hero-actions,.detail-actions,.card-actions { display:flex; flex-wrap:wrap; gap:10px; }.home-note { padding:30px; background:var(--green-dark); color:white; border-top:5px solid var(--gold); box-shadow:var(--shadow); }.home-note span { color:#b9cec5; font-size:11px; }.home-note strong { display:block; margin:10px 0; font:700 25px/1.3 Georgia,serif; }.home-note p { margin:0; color:#dbe6e1; font-size:13px; }
.button { min-height:41px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 15px; border:1px solid var(--green); text-decoration:none; font-size:12px; font-weight:800; }.button.large { min-height:52px; padding-inline:24px; font-size:14px; }.button.primary { background:var(--green); color:white; }.button.secondary { background:transparent; color:var(--green); }.button.ghost { border-color:var(--line); background:white; }.button.arabic { background:var(--gold); border-color:var(--gold); color:white; }.button small { opacity:.7; font-size:9px; }
.summary-band { display:grid; grid-template-columns:repeat(4,1fr); background:white; border-block:1px solid var(--line); }.summary-item { min-height:140px; padding:28px; border-left:1px solid var(--line); }.summary-item span { color:var(--gold); font:700 10px/1 Georgia,serif; }.summary-item strong { display:block; margin-top:12px; font:700 36px/1 Georgia,serif; }.summary-item p { margin:7px 0 0; color:var(--muted); font-size:12px; }
.home-sections { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:70px clamp(24px,7vw,110px); }.home-sections article { padding:35px; background:white; border:1px solid var(--line); }.home-sections span { color:var(--gold); font:700 12px Georgia,serif; }.home-sections h2 { font:700 28px Georgia,serif; }.home-sections p { color:var(--muted); line-height:1.8; }
.catalog-hero { padding:58px clamp(24px,5vw,76px) 42px; background:var(--green-dark); color:white; }.catalog-hero h1 { font-size:58px; }.catalog-hero p:last-child { max-width:650px; color:#c9d8d2; }
.library-shell { display:grid; grid-template-columns:260px minmax(0,1fr); gap:45px; padding:42px clamp(24px,5vw,76px) 90px; }.filters { align-self:start; position:sticky; top:105px; padding:25px; background:rgba(255,254,250,.88); border:1px solid var(--line); }.filters-head { display:flex; justify-content:space-between; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }.filters h2,.results-heading h2,.metadata-panel h2,.admin-table-heading h2 { margin:0; font:700 28px Georgia,serif; }.text-button { border:0; background:transparent; color:var(--green); text-decoration:underline; }.field,.search-wrap,.sort-wrap,.admin-search { display:grid; gap:7px; }.field { margin-top:18px; }.field span,.search-wrap span,.sort-wrap span,.admin-search span { color:var(--muted); font-size:11px; font-weight:700; }.field select,.search-wrap input,.sort-wrap select,.admin-search input { width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--line); background:white; color:var(--ink); }.catalog-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) 200px; gap:18px; padding-bottom:26px; border-bottom:1px solid var(--line); }.search-wrap input { min-height:52px; font-size:16px; }.results-heading { display:flex; align-items:end; justify-content:space-between; margin:32px 0 20px; }.results-heading p:last-child { color:var(--muted); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.catalog-card { min-width:0; display:grid; grid-template-rows:190px 1fr; background:white; border:1px solid var(--line); box-shadow:0 8px 24px rgba(30,42,35,.04); }.cover-placeholder { display:grid; place-content:center; gap:12px; text-align:center; text-decoration:none; color:white; background:linear-gradient(145deg,var(--green-dark),#346f5d); border-bottom:5px solid var(--gold); }.cover-placeholder span { font:700 48px Georgia,serif; letter-spacing:.08em; }.cover-placeholder small { max-width:180px; color:#c9dbd4; font-size:10px; }.catalog-card-body { display:flex; flex-direction:column; padding:22px; }.record-id { margin:0 0 8px; color:var(--muted); font:700 10px "Courier New",monospace; }.catalog-card h3 { margin:0 0 10px; font:700 22px/1.3 Georgia,serif; }.catalog-card h3 a { text-decoration:none; }.card-author { margin:0 0 20px; color:var(--green); font-weight:700; }.compact-meta { margin:auto 0 20px; }.compact-meta div { display:grid; grid-template-columns:80px 1fr; gap:10px; padding:8px 0; border-top:1px solid var(--line); }.compact-meta dt { color:var(--muted); font-size:10px; }.compact-meta dd { margin:0; font-size:11px; }.pagination { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:32px; }.pagination button { min-width:90px; padding:9px; background:white; border:1px solid var(--line); }.pagination button:disabled { opacity:.4; }
.detail-main { padding:30px clamp(24px,7vw,110px) 80px; }.breadcrumbs { display:flex; gap:10px; margin-bottom:25px; color:var(--muted); font-size:12px; }.detail-hero { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:60px; padding:clamp(34px,5vw,70px); background:white; border:1px solid var(--line); box-shadow:var(--shadow); }.detail-hero h1 { max-width:930px; font-size:clamp(36px,5vw,64px); }.detail-author { margin:22px 0 30px; color:var(--green); font:700 20px Georgia,serif; }.detail-status-row { display:flex; gap:12px; margin-bottom:26px; }.availability { padding:5px 9px; border-radius:999px; font-size:9px; font-weight:800; }.availability.available { background:var(--green-light); color:var(--green); }.availability.blocked { background:var(--red-light); color:var(--red); }.language-card { align-self:start; padding:25px; background:var(--paper); border-top:4px solid var(--gold); }.language-card>div { padding:16px 0; border-bottom:1px solid var(--line); }.language-card span,.language-card strong { display:block; }.language-card span { color:var(--muted); font-size:10px; }.language-card strong { margin-top:5px; }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px; }.metadata-panel { padding:34px; background:white; border:1px solid var(--line); }.metadata-list { margin:20px 0 0; }.metadata-list>div { display:grid; grid-template-columns:180px 1fr; gap:18px; padding:12px 0; border-bottom:1px solid var(--line); }.metadata-list dt { color:var(--muted); font-size:11px; }.metadata-list dd { margin:0; font-size:12px; font-weight:700; overflow-wrap:anywhere; }.metadata-list a { color:var(--green); }.privacy-note { margin-top:20px; color:var(--muted); font-size:11px; line-height:1.7; }.access-panel { padding:18px; }.blocked-panel { background:var(--red-light); border-right:4px solid var(--red); }
.admin-page { background:#edf0ec; }.admin-main { padding:48px clamp(24px,5vw,76px) 80px; }.admin-intro { display:flex; justify-content:space-between; align-items:center; gap:30px; }.admin-intro h1 { font-size:58px; }.admin-intro p:last-child { max-width:720px; color:var(--muted); }.health-orb { width:140px; height:140px; flex:0 0 auto; display:grid; place-content:center; text-align:center; border-radius:50%; background:white; border:1px solid var(--line); box-shadow:var(--shadow); }.health-orb span { color:var(--muted); font-size:10px; }.health-orb strong { margin-top:7px; font:700 22px Georgia,serif; }.health-orb strong.yellow { color:var(--gold); }.phase-banner { display:grid; grid-template-columns:1fr 1fr; margin:36px 0 18px; background:var(--green-dark); color:white; }.phase-banner div { padding:20px 24px; border-left:1px solid rgba(255,255,255,.18); }.phase-banner span { display:block; color:#bdd0c7; font-size:10px; }.phase-banner strong { display:block; margin-top:6px; direction:ltr; text-align:right; font:700 11px/1.5 "Courier New",monospace; overflow-wrap:anywhere; }.admin-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.admin-summary article { min-height:105px; padding:16px; background:white; }.admin-summary span { display:block; min-height:32px; color:var(--muted); font-size:10px; }.admin-summary strong { font:700 28px Georgia,serif; }.status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px; }.status-grid article { padding:18px; background:#29433a; color:white; }.status-grid span { color:#bdd0c7; font-size:10px; }.status-grid strong { display:block; margin-top:8px; direction:ltr; text-align:right; font:700 10px/1.5 "Courier New",monospace; overflow-wrap:anywhere; }.admin-table-section { margin-top:40px; padding:28px; background:white; border:1px solid var(--line); }.admin-table-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }.admin-search { width:min(360px,100%); }.table-wrap { overflow:auto; border:1px solid var(--line); }.table-wrap table { width:100%; min-width:1200px; border-collapse:collapse; font-size:11px; }.table-wrap th { position:sticky; top:0; padding:11px; background:#e2e8e4; text-align:right; }.table-wrap td { padding:11px; border-top:1px solid var(--line); vertical-align:top; }.table-wrap td strong,.table-wrap td small { display:block; }.table-wrap td small { color:var(--muted); }.table-status { display:inline-flex!important; padding:4px 7px; border-radius:999px; font:700 9px "Courier New",monospace; }.table-status.pass { background:var(--green-light); color:var(--green); }.table-status.hold { background:var(--red-light); color:var(--red); }.rights-button { padding:7px 10px; border:1px solid var(--gold); background:var(--gold-light); color:#6f5016; font-size:10px; font-weight:800; }.table-count { color:var(--muted); font-size:11px; }
.reader-page { height:100vh; overflow:hidden; }.reader-header { height:82px; display:grid; grid-template-columns:190px minmax(0,1fr) auto; align-items:center; gap:20px; padding:10px 24px; background:var(--green-dark); color:white; }.reader-back { color:#d4e2dc; font-size:12px; }.reader-identity { text-align:center; }.reader-identity p { margin:0; color:#bcd0c7; font-size:10px; }.reader-identity h1 { margin:4px 0 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:700 18px Georgia,serif; }.reader-tools { display:flex; gap:6px; direction:ltr; }.reader-tools button { min-height:38px; border:1px solid rgba(255,255,255,.35); background:transparent; color:white; }.reader-shell { height:calc(100vh - 82px); display:grid; grid-template-columns:290px minmax(0,1fr); direction:ltr; }.reader-sidebar { overflow:auto; padding:22px; background:#f7f4ec; border-right:1px solid var(--line); direction:rtl; }.source-box { display:grid; gap:5px; padding:15px; margin-bottom:20px; background:white; border:1px solid var(--line); }.source-box span { color:var(--muted); font-size:10px; }.toc-heading { display:flex; justify-content:space-between; padding-bottom:9px; border-bottom:1px solid var(--line); font-size:11px; font-weight:800; }.toc { margin:0; padding:0; list-style:none; }.toc button { width:100%; display:grid; grid-template-columns:28px 1fr; gap:7px; padding:10px 4px; border:0; border-bottom:1px solid #e2ddd3; background:transparent; text-align:left; direction:ltr; }.toc button.active,.toc button:hover { background:var(--green-light); color:var(--green); }.toc button span { color:var(--gold); font-size:9px; }.toc button b { font:400 11px/1.4 Georgia,serif; }.reader-stage { overflow:auto; padding:42px clamp(24px,7vw,100px) 90px; direction:ltr; }.reader-message { max-width:800px; margin:80px auto; text-align:center; color:var(--muted); }.reader-content { max-width:840px; min-height:calc(100vh - 210px); margin:auto; padding:clamp(35px,6vw,72px); background:#fffefa; box-shadow:var(--shadow); font:19px/1.85 Georgia,"Times New Roman",serif; overflow-wrap:anywhere; }.reader-content h1,.reader-content h2,.reader-content h3 { color:var(--green); line-height:1.3; }.reader-content p { margin:0 0 1.1em; }.chapter-nav { max-width:840px; display:grid; grid-template-columns:1fr auto 1fr; gap:15px; align-items:center; margin:22px auto 0; }.chapter-nav button { min-height:40px; border:1px solid var(--line); background:white; }.chapter-nav button:disabled { opacity:.4; }
.site-footer { display:flex; justify-content:space-between; gap:20px; padding:28px clamp(24px,5vw,76px); background:var(--green-dark); color:#c6d4ce; font-size:11px; }.site-footer p { margin:0; }.loading-card,.empty-state { grid-column:1/-1; padding:45px 25px; text-align:center; color:var(--muted); }.empty-state { border:1px dashed var(--line); background:rgba(255,255,255,.5); }.empty-state strong { display:block; font:700 23px Georgia,serif; }.empty-state.error { border-color:#d5aaa3; background:var(--red-light); color:var(--red); }
@media (max-width:1100px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-summary { grid-template-columns:repeat(3,1fr); } }
@media (max-width:800px) { .site-header { position:static; flex-direction:column; align-items:flex-start; }.top-nav { flex-wrap:wrap; }.home-hero,.detail-hero,.detail-grid,.library-shell { grid-template-columns:1fr; }.filters { position:static; }.home-sections { grid-template-columns:1fr; }.summary-band { grid-template-columns:1fr 1fr; }.catalog-toolbar { grid-template-columns:1fr; }.admin-intro { align-items:flex-start; }.status-grid { grid-template-columns:1fr 1fr; }.phase-banner { grid-template-columns:1fr; }.reader-shell { grid-template-columns:220px minmax(0,1fr); }.reader-header { grid-template-columns:120px minmax(0,1fr); }.reader-tools { grid-column:1/-1; justify-content:center; }.reader-header { height:120px; }.reader-shell { height:calc(100vh - 120px); } }
@media (max-width:580px) { .catalog-grid,.summary-band,.admin-summary,.status-grid { grid-template-columns:1fr; }.brand small { display:none; }.home-hero,.catalog-hero,.detail-main,.library-shell,.admin-main { padding-inline:16px; }.detail-hero,.metadata-panel { padding:24px 18px; }.metadata-list>div { grid-template-columns:120px 1fr; }.reader-sidebar { display:none; }.reader-shell { display:block; }.reader-stage { height:100%; padding:12px; }.reader-content { padding:26px 18px; }.site-footer { flex-direction:column; } }

/* Authenticated Arabic AI-draft review area. These styles do not change public Arabic availability. */
.arabic-review-shell { padding:34px clamp(18px,4vw,64px) 80px; }.draft-warning { padding:22px; border:2px solid #b27a14; background:#fff3d5; color:#4f380e; }.draft-warning>strong { display:block; font-size:20px; }.draft-warning p { max-width:1000px; line-height:1.8; }.draft-gates,.draft-meta { display:flex; flex-wrap:wrap; gap:8px; }.draft-gates span,.draft-meta span { padding:6px 9px; border:1px solid rgba(79,56,14,.25); background:rgba(255,255,255,.55); direction:ltr; font:700 10px "Courier New",monospace; }.draft-heading,.draft-reader-head { padding:34px 0 24px; }.draft-heading h1,.draft-reader-head h1 { margin:5px 0 12px; font:700 clamp(34px,5vw,58px)/1.1 Georgia,"Times New Roman",serif; }.draft-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.draft-card { padding:24px; border:1px solid var(--line); background:white; }.draft-card h2 { min-height:60px; margin:6px 0; font:700 22px/1.35 Georgia,"Times New Roman",serif; }.draft-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:20px 0; }.draft-card dl div { padding:9px; background:#f3f0e8; }.draft-card dt { color:var(--muted); font-size:9px; }.draft-card dd { margin:4px 0 0; overflow-wrap:anywhere; direction:ltr; font:700 10px/1.4 "Courier New",monospace; }.draft-record { color:var(--gold); direction:ltr; text-align:right; font:700 11px "Courier New",monospace; }.draft-reader-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:22px; align-items:start; }.draft-reader-layout>aside { position:sticky; top:96px; max-height:calc(100vh - 120px); overflow:auto; padding:18px; border:1px solid var(--line); background:white; }.draft-reader-layout aside label { display:grid; gap:6px; font-size:11px; }.draft-reader-layout aside input { min-height:42px; padding:8px; border:1px solid var(--line); }.draft-reader-layout aside nav { display:grid; gap:6px; margin-top:14px; }.draft-reader-layout aside button { display:flex; justify-content:space-between; padding:10px; border:1px solid var(--line); background:white; text-align:right; }.draft-reader-layout aside button.active { border-color:var(--gold); background:var(--gold-light); }.bilingual-segment { margin-bottom:14px; border:1px solid var(--line); background:white; }.bilingual-segment>header { display:flex; justify-content:space-between; gap:12px; padding:8px 12px; border-bottom:1px solid var(--line); color:var(--muted); direction:ltr; font:700 9px "Courier New",monospace; }.bilingual-segment>header strong { color:var(--red); }.bilingual-grid { display:grid; grid-template-columns:1fr 1fr; }.bilingual-grid section { padding:18px; }.bilingual-grid section+section { border-right:1px solid var(--line); }.bilingual-grid small { color:var(--muted); font-size:9px; }.bilingual-grid p { margin:8px 0 0; white-space:pre-wrap; line-height:1.85; }.bilingual-grid [lang="ar"] p { font-size:18px; }.bilingual-grid [lang="en"] p { font-family:Georgia,"Times New Roman",serif; font-size:16px; }.bilingual-segment>footer { padding:9px 12px; border-top:1px solid var(--line); background:#fff8e9; color:#765716; font-size:11px; }
@media (max-width:900px) { .draft-catalog { grid-template-columns:1fr; }.draft-reader-layout { grid-template-columns:1fr; }.draft-reader-layout>aside { position:static; max-height:none; }.bilingual-grid { grid-template-columns:1fr; }.bilingual-grid section+section { border-right:0; border-top:1px solid var(--line); } }
