@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Noto+Kufi+Arabic:wght@600;700;800&display=swap');
:root{--ink:#0a1118;--soft:#14222d;--paper:#f4f6f4;--white:#fff;--line:#dce3df;--muted:#7d8989;--gold:#b88338;--gold-light:#e1bb7a;--danger:#b95a50;--sans:'IBM Plex Sans Arabic',sans-serif;--heading:'Noto Kufi Arabic',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}a{text-decoration:none;color:inherit}.login-view{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 10% 10%,rgba(184,131,56,.16),transparent 28%),linear-gradient(135deg,#e9eeeb,#f7f8f6)}.login-card{width:min(430px,100%);background:var(--white);padding:45px;box-shadow:0 25px 70px rgba(10,22,29,.13);text-align:right}.admin-mark{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:var(--heading);font-size:23px;position:relative;margin-bottom:25px}.admin-mark:after{content:'';position:absolute;inset:5px;border:1px solid rgba(184,131,56,.35);border-radius:50%}.kicker{font-size:10px;color:var(--gold);letter-spacing:.1em;font-weight:700}.login-card h1,.dashboard-header h1,.view-toolbar h2,.welcome-panel h2,.editor-card h3,.list-card h3{font-family:var(--heading);letter-spacing:-.07em}.login-card h1{font-size:31px;line-height:1.8;margin:12px 0}.login-card h1 em,.welcome-panel h2 em{color:var(--gold);font-style:normal}.login-card p{color:var(--muted);font-size:13px;line-height:2;margin:0 0 27px}.primary-button{background:var(--ink);color:var(--white);padding:12px 18px;display:inline-flex;align-items:center;gap:14px;transition:transform .25s,background .25s;box-shadow:0 10px 22px rgba(10,17,24,.12)}.primary-button:hover{background:#20303c;transform:translateY(-2px)}.primary-button span{color:var(--gold-light);font-size:18px}.back-link{display:block;color:var(--muted);font-size:12px;margin-top:22px}.app-view{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--ink);color:#d8dfdf;padding:25px 18px;display:flex;flex-direction:column;min-height:100vh}.side-brand{display:flex;align-items:center;gap:12px;padding:8px 9px 37px;border-bottom:1px solid rgba(255,255,255,.12)}.side-brand .admin-mark{width:38px;height:38px;font-size:18px;margin:0}.side-brand strong{display:block;font-family:var(--heading);font-size:13px}.side-brand small{color:var(--gold-light);font-size:9px}.sidebar nav{padding-top:25px;display:grid;gap:6px}.side-tab{background:none;color:#89969a;text-align:right;padding:13px 14px;font-size:12px;border-right:2px solid transparent;transition:color .2s,background .2s,border .2s}.side-tab:hover,.side-tab.active{background:rgba(255,255,255,.07);color:var(--white);border-right-color:var(--gold)}.side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 9px;display:grid;gap:12px;font-size:11px;color:#89969a}.side-footer a:hover,.side-footer button:hover{color:var(--gold-light)}.side-footer button{background:none;color:#89969a;text-align:right}.dashboard{padding:45px min(5vw,70px);max-width:1400px;width:100%;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.dashboard-header h1{font-size:31px;margin:9px 0 0}.user-chip{display:flex;align-items:center;gap:10px;font-size:12px;color:#526064}.status-dot{width:8px;height:8px;background:#4f9b78;border-radius:50%;box-shadow:0 0 0 5px rgba(79,155,120,.13)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{background:var(--white);border:1px solid var(--line);padding:22px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{font-family:var(--heading);font-size:34px}.stat-card small{font-size:10px;color:#9ba5a3}.stat-card.accent{background:var(--ink);color:var(--white);border-color:var(--ink)}.stat-card.accent span,.stat-card.accent small{color:#9eaaad}.welcome-panel{background:linear-gradient(120deg,#152631,#0a1118);color:var(--white);margin-top:28px;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;min-height:260px}.welcome-panel h2{font-size:34px;line-height:1.8;margin:10px 0}.welcome-panel p{color:#aeb9bb;font-size:13px;margin:0}.view-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.view-toolbar h2{font-size:28px;margin:8px 0 0}.content-layout{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(400px,1.2fr);gap:24px;align-items:start}.editor-card,.list-card{background:var(--white);border:1px solid var(--line);padding:26px}.form-heading{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.editor-card h3,.list-card h3{font-size:18px;margin:6px 0 0}.editor-card label{display:grid;gap:7px;color:#596669;font-size:11px;margin-bottom:16px}.editor-card input,.editor-card textarea,.editor-card select{width:100%;border:1px solid var(--line);background:#fbfcfb;color:var(--ink);padding:10px 12px;outline:0;font-size:12px;resize:vertical}.editor-card input:focus,.editor-card textarea:focus,.editor-card select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,131,56,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:21px}.ghost-button,.icon-button{background:none;color:var(--muted);padding:10px}.form-message{font-size:11px;margin-top:14px;color:#4f8b6e;min-height:20px}.form-message.error{color:var(--danger)}.list-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:5px}.articles-list{display:grid}.article-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.article-row h4{font-family:var(--heading);font-size:13px;line-height:1.8;margin:0}.article-row p{color:var(--muted);font-size:10px;margin:5px 0 0}.article-status{font-size:10px;padding:4px 8px;background:#edf1ef;color:#64726f;white-space:nowrap}.article-status.published{background:#e4f2e9;color:#387658}.article-status.draft{background:#f8f0df;color:#a27632}.row-actions{display:flex;align-items:center;gap:5px}.row-actions button{background:none;color:var(--gold);font-size:11px}.upload-card{display:grid;gap:5px}.upload-drop{background:#f7f8f6;border:1px dashed #bbc7c1;text-align:center;padding:25px 18px;margin-bottom:10px}.upload-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--gold-light);font-size:20px;margin:0 auto 12px}.upload-drop h3{font-size:15px}.upload-drop p{color:var(--muted);font-size:11px;margin:5px 0 15px}.upload-drop input{border:0;background:transparent}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:15px}.media-item{border:1px solid var(--line);overflow:hidden;background:#fafbfa}.media-preview{aspect-ratio:1;position:relative;background:var(--ink);overflow:hidden}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-video-label{position:absolute;bottom:7px;right:7px;background:rgba(10,17,24,.8);color:var(--gold-light);font-size:10px;padding:3px 6px}.media-item figcaption{padding:8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{color:var(--muted);font-size:12px;padding:28px 0;text-align:center}@media(max-width:900px){.app-view{grid-template-columns:1fr}.sidebar{min-height:auto;padding:12px 15px;position:sticky;top:0;z-index:5}.side-brand{padding:4px 5px 11px;border-bottom:0}.sidebar nav{display:flex;overflow:auto;padding:8px 0 0}.side-tab{white-space:nowrap;padding:8px 12px;border-right:0;border-bottom:2px solid transparent}.side-tab:hover,.side-tab.active{border-right-color:transparent;border-bottom-color:var(--gold)}.side-footer{display:none}.dashboard{padding:28px 15px}.dashboard-header{margin-bottom:28px}.stat-grid{grid-template-columns:1fr 1fr}.welcome-panel{padding:28px;display:block}.welcome-panel .primary-button{margin-top:25px}.content-layout{grid-template-columns:1fr}.media-layout{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-header h1{font-size:24px}.user-chip{font-size:10px}.stat-card{padding:15px;min-height:120px}.stat-card strong{font-size:27px}.view-toolbar{align-items:flex-start;gap:15px}.view-toolbar h2{font-size:22px}.view-toolbar .primary-button{padding:9px;font-size:11px}.editor-card,.list-card{padding:18px}.media-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}

/* Respect the hidden state for authentication and dashboard views. */
[hidden] { display: none !important; }

.row-actions .danger-action,.media-actions .danger-action{color:var(--danger)}
.row-actions button,.media-actions button{transition:opacity .2s, color .2s}
.row-actions button:hover,.media-actions button:hover{opacity:.7}
.media-actions{display:flex;gap:10px;padding:8px;font-size:10px;border-top:1px solid var(--line)}
.media-actions button{background:none;color:var(--gold);font-size:10px;padding:2px}
.media-item figcaption{padding-bottom:4px}

.original-media-badge{display:block;font-size:9px;padding:3px 8px;color:#9b702f;background:#f6f0e4}
.media-management-note{font-size:11px;color:var(--muted);line-height:1.9}
.media-item{margin:0;min-width:0}
.media-actions button{min-height:32px;padding:4px 7px}

.section-cover-preview{margin:16px 0 22px;background:#f1f4f1;border:1px solid var(--line);overflow:hidden}
.section-cover-preview img{display:block;width:100%;height:240px;object-fit:contain}
.section-cover-preview span{display:block;padding:10px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}
.section-image-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;max-height:620px;overflow:auto}
.section-image-choice{padding:0;text-align:right;background:#fafbfa;color:var(--ink);border:2px solid transparent;box-shadow:0 0 0 1px var(--line)}
.section-image-choice img{display:block;width:100%;height:110px;object-fit:cover}
.section-image-choice span{display:block;padding:9px;font-size:11px}
.section-image-choice.selected{border-color:var(--gold);background:#fff7e9}
.section-image-choice:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
button:disabled{opacity:.5;cursor:wait}
@media(max-width:520px){.section-image-library{grid-template-columns:repeat(2,minmax(0,1fr))}.section-cover-preview img{height:200px}}

.section-text-preview{position:sticky;top:24px;overflow-wrap:anywhere}
.section-text-preview>p,.section-text-preview>div:not(.list-heading){white-space:pre-wrap;line-height:2}
.section-text-preview h2{font-size:26px;line-height:1.8;margin-top:12px}
.section-text-preview h3{margin-top:24px}
.section-text-preview small{display:block;color:var(--muted);padding-top:20px;font-size:11px}
#sectionTextForm textarea{line-height:1.9}
@media(max-width:900px){.section-text-preview{position:static}}

.article-photo-editor{margin:20px 0;padding:18px 14px;border:1px solid var(--line);min-width:0;background:#fbfcfb}
.article-photo-editor legend{font-family:var(--heading);font-size:12px;color:var(--ink);padding:0 8px}
.article-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.article-attachment-grid figure{margin:0;border:1px solid var(--line);background:white;overflow:hidden}
.article-attachment-grid img{width:100%;height:120px;object-fit:contain;background:#eef0ed;display:block}
.article-attachment-grid figcaption{font-size:10px;padding:8px;overflow-wrap:anywhere}
.article-attachment-grid button{width:100%;padding:8px;color:var(--danger);background:#faf7f6;font-size:11px;min-height:36px}
#articleCoverPreviewBox img{height:220px}

.image-size-controls{padding:12px 0;border-block:1px solid var(--line);margin-block:12px}
.image-size-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.image-size-fields label{min-width:0;margin-bottom:6px!important}
.image-size-fields output{font-size:11px;color:var(--gold);direction:ltr}
.image-size-fields input[type=range]{padding:0;accent-color:var(--gold);min-height:26px}
.attachment-sizing{padding:8px;font-size:11px}.attachment-sizing summary{cursor:pointer;color:var(--gold)}
.attachment-sizing .image-size-fields{grid-template-columns:1fr}
.section-cover-preview img[style],#articleCoverPreviewBox img[style],.article-attachment-grid img[style]{max-height:none;min-height:0;background:#edf0ec}
@media(max-width:520px){.image-size-fields{grid-template-columns:1fr}}
