/* D7 — تصميم «عُدّة» (v45). الخط IBM Plex Sans Arabic محفوظ داخل الموقع (fonts/) — لا اتصال بأي خادم خارجي. */
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plex-arabic-400.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plex-arabic-500.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/plex-arabic-700.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plex-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plex-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"D7 Plex";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/plex-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#0E3A33;--card:#16483F;--card2:#1D554B;--deep:#0A2C26;--tx:#F3F6F4;--mut:#B5C9C3;--line:rgba(255,255,255,.12);
  --ac:#F2B544;--ink:#0E3A33;--ok:#7EE0A8;--bad:#FFB4A8;
  --c1:#F08A5D;--c2:#8EC9E8;--c3:#E8D5B5;--c4:#B8D86B;--c5:#E89AB0;--c6:#C7B8F0;
  color-scheme:dark
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 "D7 Plex",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
.screen{max-width:560px;margin:auto;padding:max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}
[hidden]{display:none!important}
button{font:inherit;color:var(--tx)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- الرئيسية ---------- */
.top{display:flex;align-items:center;gap:10px;margin:6px 0 16px}
.top .sp{flex:1}
.logo{margin:0;width:42px;height:42px;border-radius:13px;background:var(--ac);color:var(--ink);display:grid;place-items:center;font-size:17px;font-weight:700;line-height:1;letter-spacing:.3px}
.ib{width:44px;height:44px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--tx);display:grid;place-items:center;cursor:pointer;flex:none;padding:0}
.ib:disabled{opacity:.55}
.ib.sm{width:40px;height:40px;border-radius:12px;font-size:1.4rem;line-height:1}
.open{width:100%;border:2px dashed rgba(242,181,68,.6);background:rgba(242,181,68,.07);border-radius:24px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--tx);text-align:right;cursor:pointer;transition:transform .15s}
.open:active{transform:scale(.985)}
.open .oic{width:52px;height:52px;border-radius:16px;background:var(--ac);color:var(--ink);display:grid;place-items:center;margin-bottom:8px}
.open .oic .i{width:26px;height:26px}
.open b{font-size:1.45rem;font-weight:700;line-height:1.3}
.open small{font-size:.85rem;color:var(--mut);line-height:1.6}
.types{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.types span{height:28px;padding:0 10px;border-radius:999px;background:var(--card);font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;direction:ltr}
.card{cursor:pointer;font:inherit;color:var(--tx);border:0;transition:transform .15s}
.card:active{transform:scale(.97)}
.card.scanc{width:100%;margin-top:12px;border-radius:20px;background:var(--card);padding:12px 14px;display:flex;align-items:center;gap:14px;text-align:right;min-height:72px}
.vf{width:48px;height:48px;border-radius:14px;background:var(--deep);position:relative;flex:none}
.vf i{position:absolute;width:11px;height:11px;border:2.5px solid var(--ac)}
.vf i:nth-child(1){top:8px;right:8px;border-width:2.5px 2.5px 0 0}
.vf i:nth-child(2){top:8px;left:8px;border-width:2.5px 0 0 2.5px}
.vf i:nth-child(3){bottom:8px;right:8px;border-width:0 2.5px 2.5px 0}
.vf i:nth-child(4){bottom:8px;left:8px;border-width:0 0 2.5px 2.5px}
.scanc .tx{flex:1;min-width:0;display:flex;flex-direction:column}
.scanc .tx b{font-size:1.06rem;font-weight:700}
.scanc .tx small{font-size:.78rem;color:var(--mut)}
.scanc .ch{width:20px;height:20px;color:var(--mut)}
.hdr{font-size:.88rem;font-weight:700;color:var(--mut);margin:18px 4px 8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cards .card{background:var(--card);border-radius:20px;padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:106px}
.cards .card b{font-size:.84rem;font-weight:700;text-align:center;line-height:1.35}
.sq{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;color:var(--ink)}
.sq .i{width:26px;height:26px}
.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}.c4{background:var(--c4)}.c5{background:var(--c5)}.c6{background:var(--c6)}
.foot{margin-top:22px;font-size:.8rem;color:var(--mut);line-height:1.8;display:flex;flex-direction:column;gap:6px}
.frow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fmeta{padding:0 2px}
.foot .lk{display:inline-flex;align-items:center;gap:6px;color:var(--tx);font-weight:700}
.foot .lk .i{width:16px;height:16px}
.chipb{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--ac);background:transparent;color:var(--ac);font-weight:700;font-size:.82rem;cursor:pointer;flex:none}
.chipb .i{width:18px;height:18px}
.chipb:disabled{opacity:.6}
.offst{margin:8px 4px 0;font-size:.8rem}
.linkbtn{background:none;border:0;color:var(--tx);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
a.linkbtn{display:inline-block}
#shareBox{margin:12px 0 0}#shareActs{display:flex;flex-direction:column;gap:8px}#shareNote{white-space:pre-line}
#shareMsg{font-size:1.02rem}
.sbh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sbh b{font-size:1rem}
#secBox{margin:0 0 12px}
#secOut{display:flex;flex-direction:column;gap:6px;line-height:1.6;font-size:.88rem;color:var(--tx)}
.sl{display:flex;gap:10px;align-items:flex-start}
.sl .si{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.72rem;font-weight:700;margin-top:1px}
.sl.y .si{background:var(--ok);color:var(--ink)}
.sl.n .si{background:var(--bad);color:#3b0d07}
.sl.u .si{background:var(--card2);color:var(--mut)}
.sl.sum{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);font-weight:700}

/* ---------- شاشة العمل ---------- */
.bar{display:flex;align-items:center;gap:12px;margin:4px 0 6px}.bar h2{margin:0;font-size:1.35rem;font-weight:700;line-height:1.3}
.row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.row .btn{padding:0 10px;white-space:nowrap;min-width:0}
.btn{min-height:50px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500}
.btn .i{width:20px;height:20px}
.btn.primary{background:var(--ac);color:var(--ink);font-weight:700;border-color:var(--ac)}
.btn:disabled{opacity:.5}
.ghost{background:none;border:0;min-height:44px;padding:0 6px;cursor:pointer;color:var(--ac)}
.hint{color:var(--mut);font-size:.88rem}
#empty{margin:4px 4px 0}
ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
#list li{background:var(--card);border-radius:18px;display:flex;align-items:center;gap:10px;padding:8px;user-select:none;-webkit-user-select:none}
#list li.drag,li.drag{z-index:5;position:relative;opacity:.95;outline:2px solid var(--ac);transition:none;background:var(--card2);border-radius:18px;display:flex;align-items:center;gap:10px;padding:8px}
li img{width:64px;height:64px;object-fit:cover;border-radius:12px;background:#E8EFEC;cursor:pointer;flex:none;transition:transform .2s}
li .inf{flex:1;min-width:0}li .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:right;font-weight:500;font-size:.92rem}
li .pg{color:var(--mut);font-size:.78rem}
.h,.x,.r{width:44px;height:44px;border-radius:12px;border:0;background:none;cursor:pointer;flex:none;display:grid;place-items:center;padding:0;color:var(--tx)}
.h .i,.x .i,.r .i{width:20px;height:20px}
.x{color:var(--bad)}
.h{touch-action:none;cursor:grab;color:var(--mut)}
.glass{background:var(--card);border-radius:20px;padding:16px;margin-top:12px;display:flex;flex-direction:column;gap:12px}
.lbl{font-size:.95rem;font-weight:700}
label{display:flex;flex-direction:column;gap:6px;color:var(--mut);font-size:.88rem}
input,select{min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--deep);color:var(--tx);padding:0 12px;font:inherit}
.chk{flex-direction:row;align-items:center;gap:10px;color:var(--tx);min-height:44px}.chk input{min-height:auto;width:22px;height:22px;accent-color:var(--ac);flex:none}
.acts{display:flex;gap:8px}.acts .btn.primary{flex:2}
.qgrp{display:flex;flex-direction:column;border-radius:16px;background:var(--deep);overflow:hidden}
.qo{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border:0;background:transparent;text-align:right;cursor:pointer;width:100%}
.qo + .qo{border-top:1px solid var(--line)}
.qo .lt{flex:1;display:flex;flex-direction:column}.qo .lt b{font-weight:700;font-size:.95rem}.qo .lt small{color:var(--mut);font-size:.78rem}
.qo .rd,.lv .rd{width:22px;height:22px;border-radius:50%;border:2px solid var(--mut);flex:none}
.qo.on .rd{border:7px solid var(--ac)}
.track{height:12px;border-radius:8px;background:var(--deep);overflow:hidden}.track i{display:block;height:100%;width:0;background:var(--ac);transition:width .2s}
#pct{font-weight:700}
.ok{color:var(--ok);font-weight:700}
.err{color:var(--bad);background:rgba(255,120,100,.1);border:1px solid rgba(255,140,120,.35);padding:12px;border-radius:14px}
#meta,#analysis{white-space:pre-line}
textarea{width:100%;min-height:240px;border-radius:14px;border:1px solid var(--line);background:var(--deep);color:var(--tx);padding:12px;font:inherit;line-height:1.8}
.privacy{color:var(--mut);font-size:.82rem;text-align:center;margin-top:1.6em;display:flex;align-items:center;justify-content:center;gap:6px}
.privacy .i{width:16px;height:16px}

/* مستويات الضغط */
#levels{display:flex;flex-direction:column;gap:8px}
.lv{display:flex;align-items:center;gap:10px;width:100%;text-align:right;padding:12px;border-radius:16px;border:1.5px solid var(--line);background:var(--deep);cursor:pointer;min-height:44px}
.lv.on{border-color:var(--ac)}
.lv .rd{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:transparent}
.lv.on .rd{border-color:var(--ac);background:var(--ac);color:var(--ink)}
.lv .lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lv .lt b{font-weight:700}.lv .lt small{color:var(--mut);font-size:.78rem;line-height:1.5}
.lv em{font-style:normal;font-size:.72rem;color:var(--ok);font-weight:500}
.lv .es{flex:none;display:flex;flex-direction:column;align-items:flex-start;min-width:74px;direction:ltr}.lv .es b{font-size:.95rem}.lv .es small{color:var(--mut);font-size:.7rem;direction:rtl}
.lv.on .es b{color:var(--ac)}

/* تحويل صيغ الصور */
#fmts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:66px;padding:10px 6px;border-radius:14px;border:1.5px solid var(--line);background:var(--deep);color:var(--tx);font:inherit;cursor:pointer}
.fm b{font-size:1.02rem;direction:ltr}.fm small{color:var(--mut);font-size:.7rem;line-height:1.35;text-align:center}
.fm.on{border-color:var(--ac)}.fm.on b{color:var(--ac)}
#cvqWrap input{min-height:auto;padding:0;border:0;background:none;accent-color:var(--ac)}
#cvqWrap b{color:var(--tx)}

/* ---------- المعاينة ---------- */
#modal{position:fixed;inset:0;background:rgba(6,24,21,.97);z-index:20;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.mbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px}.mbar button{font-size:2rem;background:none;border:0;min-width:44px;min-height:44px;cursor:pointer}
#mcount{font-weight:700;direction:ltr}
#mbody{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:8px;touch-action:pan-y}#mbody img,#mbody canvas{max-width:100%;max-height:100%;object-fit:contain}
.mnav{display:flex;gap:10px;padding:12px 16px}.mnav button{flex:1;min-height:50px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);cursor:pointer}

/* ---------- محرر المسح والكاميرا ---------- */
#scanEd{position:fixed;inset:0;z-index:40;background:#06201C;display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));gap:10px}
.se-top{text-align:center;color:var(--mut);font-size:.9rem}
#seWrap{position:relative;margin:auto;touch-action:none}#seCv{display:block;border-radius:6px}
#seSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#sePoly{fill:rgba(242,181,68,.16);stroke:var(--ac);stroke-width:2}
.hd{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:3px solid var(--ac);background:rgba(242,181,68,.25);touch-action:none}
.se-f,.se-b{display:flex;gap:8px}
.se-f button{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-size:.85rem;padding:0 4px;cursor:pointer}
.se-f button.on{background:var(--ac);color:var(--ink);font-weight:700;border-color:var(--ac)}
#seLoupe{position:absolute;top:6px;width:120px;height:120px;border-radius:50%;border:3px solid var(--ac);pointer-events:none;z-index:3}
#cam{position:fixed;inset:0;z-index:45;background:#000;display:flex;flex-direction:column}
#cam.flash::after{content:"";position:absolute;inset:0;background:#fff;opacity:.6}
#camV{flex:1;width:100%;min-height:0;object-fit:contain;background:#000}
#camSvg{position:absolute;left:0;top:0;width:100%;height:calc(100% - 150px - env(safe-area-inset-bottom));pointer-events:none}
#camPoly{fill:rgba(242,181,68,.18);stroke:var(--ac);stroke-width:3}
#camHint{position:absolute;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:rgba(0,0,0,.65);padding:8px 16px;border-radius:20px;font-size:.95rem;white-space:nowrap}
.cam-b{height:100px;display:flex;align-items:center;justify-content:space-around;background:#000}
#camClose{font-size:2rem;background:none;border:0;min-width:60px;min-height:44px;cursor:pointer}
#camShot{width:72px;height:72px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.25);cursor:pointer}
#camShot:active{background:#fff}
#camAuto{min-width:90px;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:.8rem;cursor:pointer}
#camAuto.on{background:var(--ac);color:var(--ink);border-color:var(--ac);font-weight:700}
#camDone{margin:0 16px max(12px,env(safe-area-inset-bottom));flex:none}
#combo{position:fixed;inset:0;z-index:42;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
#combo .sheet{width:100%;max-width:560px;background:var(--card);border-radius:24px 24px 0 0;padding:18px 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
#combo [data-k]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:right;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--deep);font-size:1rem;min-height:44px;cursor:pointer}
#combo [data-k] .ct{display:inline-flex;align-items:center;gap:8px;font-weight:700}
#combo [data-k] .ct .i{color:var(--ac)}
#combo [data-k] small{color:var(--mut);font-size:.8rem}

/* ---------- سياسة الخصوصية والأمان ---------- */
.polmeta{margin:.6em 0 1em}
.pol{padding:16px 20px;margin:0 0 12px;line-height:1.95;user-select:text;-webkit-user-select:text}
.pol h3{margin:0 0 6px;font-size:1.05rem;color:var(--ac)}
.pol p{margin:.4em 0}
.pol ul{margin:.3em 0;padding-inline-start:1.3em;list-style:disc;display:block}
.pol li{display:list-item;padding:2px 0;margin:0;user-select:text;-webkit-user-select:text}
.pol li::marker{color:var(--ac)}
.polsum{outline:1.5px solid rgba(126,224,168,.45)}.polsum h3{color:var(--ok)}

@media (min-width:480px){.cards .card{min-height:118px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
