/* Readex Pro (SIL OFL, fonts/OFL.txt), bundled for offline use */
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:300;src:url(fonts/readex-pro-arabic-300-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:400;src:url(fonts/readex-pro-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/readex-pro-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:700;src:url(fonts/readex-pro-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:300;src:url(fonts/readex-pro-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:400;src:url(fonts/readex-pro-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/readex-pro-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215}
@font-face{font-family:"Readex Pro";font-style:normal;font-display:swap;font-weight:700;src:url(fonts/readex-pro-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215}

:root{
  --bg:#F3F1EC;--surface:#FFFFFF;--surface2:#ECE9E2;--ink:#1C1B18;--muted:#6E6A60;--line:#DEDAD0;
  --accent:#C4501A;--on-accent:#FFFFFF;--accent-soft:#F8E1D4;
  --green:#1E8A5A;--green-soft:#D6F0E2;--red:#C2432E;--red-soft:#F8DDD6;--blue:#2F6FB5;--blue-soft:#DCE8F6;
  color-scheme:light;box-sizing:border-box;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#111318;--surface:#1B1E25;--surface2:#242832;--ink:#F0EFEA;--muted:#9A9DA6;--line:#2C303A;
    --accent:#F08A4B;--on-accent:#1A0F07;--accent-soft:#3A2416;
    --green:#4CC38A;--green-soft:#173426;--red:#F07167;--red-soft:#3D1F1C;--blue:#6FA8E8;--blue-soft:#1C2B3D;color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:inherit}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Readex Pro",Tahoma,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;
  -webkit-tap-highlight-color:transparent;overscroll-behavior:none}
body.lock{overflow:hidden}
input,textarea{user-select:text;-webkit-user-select:text}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}
.muted{color:var(--muted)}
.wrap{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px calc(env(safe-area-inset-bottom,0px) + 32px)}
h1{font-size:1.3rem;margin:0}
h2{font-size:.85rem;font-weight:500;color:var(--muted);margin:18px 0 8px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.pill{border:0;border-radius:999px;padding:8px 16px;background:var(--surface2);font-weight:500;white-space:nowrap}
.card{background:var(--surface);border-radius:20px;padding:16px;margin-bottom:12px}
.btn{border:0;border-radius:14px;padding:13px 18px;background:var(--accent);color:var(--on-accent);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.btn.ghost{background:var(--surface2);color:var(--ink);font-weight:500}
.btn.danger{background:var(--red-soft);color:var(--red)}
.btn.block{display:flex;width:100%}
.btn:disabled{opacity:.45}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.row{display:flex;gap:10px}.row>*{flex:1}

/* status card */
.hero{text-align:center;padding:20px 16px}
.hero .big{font-size:2.6rem;font-weight:700;line-height:1.1}
.hero .lbl{color:var(--muted);font-size:.85rem}
.bar{height:10px;border-radius:99px;background:var(--surface2);overflow:hidden;margin:14px 0 6px;direction:ltr}
.bar>i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .4s}
.bar.done>i{background:var(--green)}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;text-align:start}
.kv div{background:var(--surface2);border-radius:14px;padding:10px 12px}
.kv small{display:block;color:var(--muted);font-size:.78rem}
.kv b{font-weight:600}
.banner{border-radius:20px;padding:16px;margin-bottom:12px;background:var(--accent-soft);border:1.5px solid var(--accent)}
.banner h3{margin:0 0 4px;font-size:1.05rem}
.banner p{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.actions{display:grid;gap:10px;margin-bottom:6px}

/* history */
.item{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:16px;padding:10px 12px;margin-bottom:8px}
.item .thumb{width:52px;height:52px;border-radius:12px;background:var(--surface2);object-fit:cover;flex:none;border:0;padding:0;display:grid;place-items:center;font-size:1.4rem}
.item .main{flex:1;min-width:0}
.item .t{font-weight:600}
.item .s{font-size:.82rem;color:var(--muted)}
.tag{font-size:.72rem;border-radius:99px;padding:2px 9px;margin-inline-start:6px;font-weight:500}
.tag.svc{background:var(--accent-soft);color:var(--accent)}.tag.chk{background:var(--blue-soft);color:var(--blue)}
.x{border:0;background:none;color:var(--muted);font-size:1.1rem;padding:8px}
.empty{text-align:center;color:var(--muted);padding:28px 8px}

/* sheet */
#sheet{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:20}
#sheet[hidden]{display:none}
.panel{background:var(--bg);width:100%;max-width:560px;max-height:94dvh;overflow:auto;border-radius:24px 24px 0 0;padding:18px 16px calc(env(safe-area-inset-bottom,0px) + 20px)}
.panel h3{margin:0;font-size:1.15rem}
.phead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.shot{position:relative;border-radius:16px;overflow:hidden;background:#000;touch-action:none;margin-bottom:10px;line-height:0}
.shot img{width:100%;max-height:42dvh;object-fit:contain;display:block;pointer-events:none;-webkit-user-drag:none}
.shot .crop{position:absolute;border:2.5px solid var(--accent);background:rgba(255,255,255,.12);box-shadow:0 0 0 999px rgba(0,0,0,.45);pointer-events:none;display:none}
.hint{font-size:.82rem;color:var(--muted);margin:0 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chip{border:1.5px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 14px;font-weight:600}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
label.f{display:block;margin-bottom:12px}
label.f>span{display:block;font-size:.82rem;color:var(--muted);margin-bottom:4px}
.in{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px;font-size:1.05rem}
.in.odo{font-size:1.8rem;font-weight:700;text-align:center;direction:ltr}
.calc{background:var(--accent-soft);border-radius:14px;padding:10px 14px;font-size:.92rem;margin-bottom:12px}
.err{color:var(--red);font-size:.88rem;min-height:1.3em;margin:0 0 8px}
.spin{width:34px;height:34px;border-radius:50%;border:4px solid var(--surface2);border-top-color:var(--accent);animation:sp 1s linear infinite;margin:18px auto 10px}
@keyframes sp{to{transform:rotate(360deg)}}
.res{text-align:center;padding:10px 0 16px}
.res .em{font-size:2.6rem}
.res .big{font-size:2rem;font-weight:700}
.picker{display:grid;gap:10px;margin:6px 0}
.picker input[type=file]{display:none}
.list-btn{display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--surface);border-radius:14px;padding:12px 14px;margin-bottom:8px;text-align:start}
.list-btn.on{outline:2px solid var(--accent)}
.list-btn .nm{flex:1;font-weight:600}
#toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;font-size:.92rem;z-index:40;max-width:90vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
#toast.show{opacity:1}
.bigimg{width:100%;border-radius:14px;display:block}
