:root{--espresso:#322823;--ivory:#ebebe2;--sand:#aba195;--white:#fbfdfb;--espresso-soft:#4a3f37;--sand-soft:#c4bcb0;--sand-30:#e4ded6;--text:#322823;--text-soft:#7d7368;--text-faint:#a89e92;--surface:#ebebe2;--sh-dark:#cfcabf;--sh-light:#fefefb;--positive:#5a6b4f;--danger:#9a4f4f;--radius:22px;--radius-sm:14px}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:"29LT Zarid Display",Aktiv Grotesk Arabic,IBM Plex Sans Arabic,Cairo,Arial,sans-serif;background:var(--surface);color:var(--text);-webkit-font-smoothing:antialiased}.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius);box-shadow:10px 10px 24px var(--sh-dark),-10px -10px 24px var(--sh-light);padding:36px 30px}.auth-brand{text-align:center;margin-bottom:26px}.auth-brand img{width:76px;height:auto;margin-bottom:12px}.auth-brand h1{font-size:20px;font-weight:700;color:var(--espresso)}.auth-brand p{font-size:13px;color:var(--text-soft);margin-top:2px}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:600;color:var(--text-soft);margin-bottom:6px}.auth-field input{width:100%;min-height:46px;padding:10px 16px;font-family:inherit;font-size:16px;color:var(--text);background:var(--surface);border:0;border-radius:var(--radius-sm);box-shadow:inset 5px 5px 10px var(--sh-dark),inset -5px -5px 10px var(--sh-light)}.auth-field input:focus-visible{outline:2px solid var(--espresso-soft);outline-offset:2px}.auth-btn{width:100%;min-height:48px;margin-top:6px;font-family:inherit;font-size:16px;font-weight:700;color:var(--white);background:var(--espresso);border:0;border-radius:var(--radius-sm);cursor:pointer;box-shadow:6px 6px 14px var(--sh-dark),-6px -6px 14px var(--sh-light)}.auth-btn:hover{background:var(--espresso-soft)}.auth-btn:focus-visible{outline:2px solid var(--espresso-soft);outline-offset:3px}.auth-btn:disabled{opacity:.6;cursor:default}.auth-error{background:#f3e3e3;color:var(--danger)}.auth-error,.auth-info{border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:16px}.auth-info{background:var(--sand-30);color:var(--espresso);word-break:break-all}.auth-links{margin-top:20px;text-align:center;font-size:13px;color:var(--text-soft);display:flex;flex-direction:column;gap:8px}.auth-links a{color:var(--espresso);font-weight:600;text-decoration:none}.auth-links a:focus-visible,.auth-links a:hover{text-decoration:underline}.dash-shell{height:100dvh;display:flex;flex-direction:column}.dash-topbar{justify-content:space-between;gap:12px;padding:10px 18px;background:var(--surface);box-shadow:0 4px 12px var(--sh-dark);position:relative;z-index:1}.dash-brand,.dash-topbar{display:flex;align-items:center}.dash-brand{gap:10px;min-width:0}.dash-brand img{width:38px;height:auto;flex-shrink:0}.dash-brand-text{display:flex;flex-direction:column;min-width:0}.dash-brand-text strong{font-size:14px;font-weight:700;color:var(--espresso)}.dash-brand-text span,.dash-brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-brand-text span{font-size:11px;color:var(--text-soft)}.dash-user{display:flex;align-items:center;gap:12px;min-width:0}.dash-user-info{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.dash-user-info strong{font-size:13px;color:var(--espresso)}.dash-user-info span,.dash-user-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-user-info span{font-size:11px;color:var(--text-faint)}.logout-btn{min-height:40px;min-width:40px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:700;color:var(--white);background:var(--espresso);border:0;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0}.logout-btn:hover{background:var(--espresso-soft)}.logout-btn:focus-visible{outline:2px solid var(--espresso-soft);outline-offset:2px}.jd-lang{display:flex;align-items:center;gap:4px}.jd-lang-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border:0;border-radius:10px;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--text-soft);background:var(--surface);box-shadow:2px 2px 5px var(--sh-dark),-2px -2px 5px var(--sh-light);cursor:pointer;white-space:nowrap;transition:box-shadow .15s,transform .15s,color .15s}.jd-lang-btn:hover{transform:translateY(-1px);color:var(--espresso)}.jd-lang-btn:active{box-shadow:inset 2px 2px 4px var(--sh-dark),inset -2px -2px 4px var(--sh-light);transform:none}.jd-lang-btn:focus-visible{outline:2px solid var(--espresso-soft);outline-offset:2px}.jd-lang-btn:disabled{opacity:.55;cursor:default;transform:none}.auth-lang{position:fixed;top:18px;inset-inline-start:18px;z-index:10}.dash-frame{width:100%;height:100%;border:0;display:block;flex:1 1;min-height:0;background:var(--surface)}@media (max-width:480px){.dash-brand-text span,.dash-user-info{display:none}.dash-topbar{padding:8px 12px}}.admin-update-btn{min-height:40px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;color:var(--espresso);background:var(--surface);border:0;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;box-shadow:4px 4px 9px var(--sh-dark),-4px -4px 9px var(--sh-light)}.admin-update-btn:hover{color:var(--espresso-soft);box-shadow:inset 3px 3px 7px var(--sh-dark),inset -3px -3px 7px var(--sh-light)}.admin-edit-fab{position:fixed;bottom:18px;inset-inline-end:18px;z-index:50;min-height:46px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;color:var(--white);background:var(--espresso);border:0;border-radius:999px;cursor:pointer;box-shadow:0 6px 18px rgba(50,40,35,.35)}.admin-edit-fab:hover{background:var(--espresso-soft)}.admin-edit-fab.on{background:#9a7b4f}.admin-modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(50,40,35,.45);display:flex;align-items:center;justify-content:center;padding:16px}.admin-modal{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius);box-shadow:0 18px 50px rgba(30,24,20,.45);padding:26px 24px 20px}.admin-modal h3{font-size:16px;font-weight:700;color:var(--espresso);margin-bottom:4px}.admin-modal-sub{font-size:12px;color:var(--text-soft);margin-bottom:16px}.admin-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;border:2px dashed var(--sand);border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 4px 4px 10px var(--sh-dark),inset -4px -4px 10px var(--sh-light);color:var(--text-soft);font-size:13px;font-weight:600;cursor:pointer;text-align:center;padding:16px}.admin-dropzone.drag{border-color:var(--espresso);color:var(--espresso)}.admin-dropzone-ic{font-size:30px}.admin-msg{margin-top:12px;padding:9px 13px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600}.admin-msg.ok{background:var(--sand-30);color:var(--espresso)}.admin-msg.err{background:#f3e3e3;color:var(--danger)}.admin-modal-close{margin-top:14px;width:100%;min-height:42px;font-family:inherit;font-size:14px;font-weight:700;color:var(--espresso);background:#dcd7cb;border:0;border-radius:var(--radius-sm);cursor:pointer}.admin-modal-close:disabled{opacity:.55;cursor:default}@media (max-width:480px){.admin-update-btn{font-size:12px;padding:8px 10px}}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark;--espresso:#eee8de;--espresso-soft:#d7cbbf;--ivory:#27231f;--surface:#27231f;--text:#eee8de;--text-soft:#c4b8ab;--text-faint:#ada296;--sand:#bfb0a1;--sand-soft:#716458;--sand-faint:#443c34;--sand-30:#443c34;--sh-dark:#181512;--sh-light:#39322c;--positive:#a5ba92;--wip:#d6b27c;--late:#e6a5a5;--danger:#e6a5a5;--chart-ink:#eee8de;--chart-sand:#c9ad89;--chart-positive:#a5ba92;--chart-faint:#aca9a4;--chart-grid:hsla(30,19%,69%,.3);--chart-label-halo:#27231f}.auth-lang{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jd-lang-code{min-width:36px;min-height:32px;padding:0 8px}.jd-theme-switch{position:relative;width:60px;height:44px;flex:none;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.jd-theme-switch:focus-visible{outline:2px solid var(--espresso-soft);outline-offset:3px}.jd-theme-track{position:absolute;inset-block:10px;inset-inline:3px;border-radius:999px;background:#d4d1c9;box-shadow:inset 2px 2px 5px #aaa69e,inset -2px -2px 5px #fefefb;transition:background .28s ease,box-shadow .28s ease}.jd-theme-ghost{position:absolute;top:4px;width:16px;height:16px;color:#8e8b84;opacity:.55}.jd-theme-ghost.sun{inset-inline-start:5px}.jd-theme-ghost.moon{inset-inline-end:5px}.jd-theme-thumb{position:absolute;top:8px;inset-inline-start:3px;width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#fbfdfb,#e4e2da);box-shadow:2px 3px 6px rgba(30,24,20,.3),inset 1px 1px 2px #fff;transition:inset-inline-start .28s cubic-bezier(.22,1,.36,1)}.jd-theme-symbol{position:absolute;inset:5px;transition:opacity .22s ease,transform .28s ease}.jd-theme-symbol.sun{color:#be7c20;opacity:1;transform:rotate(0) scale(1)}.jd-theme-symbol.moon{color:#5967ad;opacity:0;transform:rotate(-35deg) scale(.65)}.jd-theme-switch svg{display:block;width:100%;height:100%}.jd-theme-switch[aria-checked=true] .jd-theme-track{background:#55596e;box-shadow:inset 2px 2px 5px #303341,inset -2px -2px 5px #767b93}.jd-theme-switch[aria-checked=true] .jd-theme-ghost{color:#c0c4d6}.jd-theme-switch[aria-checked=true] .jd-theme-thumb{inset-inline-start:calc(100% - 31px)}.jd-theme-switch[aria-checked=true] .jd-theme-symbol.sun{opacity:0;transform:rotate(45deg) scale(.65)}.jd-theme-switch[aria-checked=true] .jd-theme-symbol.moon{opacity:1;transform:rotate(0) scale(1)}@media (prefers-reduced-motion:reduce){.jd-theme-symbol,.jd-theme-thumb,.jd-theme-track{transition:none}}html[data-theme=dark] :is(.auth-btn,.logout-btn,.admin-edit-fab,.jd-btn.primary,.jd-btn.active,.jd-projname,.jd-table th,.jd-commitbar .count){background:#bfb0a1;color:#221d19}html[data-theme=dark] :is(.auth-btn,.logout-btn,.admin-edit-fab,.jd-btn.primary,.jd-btn.active):hover{background:#d7cbbf}html[data-theme=dark] :is(.jd-btn.danger,.jd-btn.success,.jd-dirty-badge,.jd-dialog-error .jd-err-ico){color:#221d19}html[data-theme=dark] .jd-figure:not(.soft){background:#443c34;color:var(--text)}html[data-theme=dark] .jd-figure:not(.soft) .lbl{color:var(--text-soft)}html[data-theme=dark] :is(.jd-logo,.auth-brand img,.dash-brand img){background:#ebebe2}html[data-theme=dark] .jd-topbar{background:rgba(39,35,31,.94)}html[data-theme=dark] :is(.auth-error,.admin-msg.err){background:#4b3030}html[data-theme=dark] .admin-modal-close{background:var(--sand-30)}html[data-theme=dark] .jd-urgent .note span{color:var(--late)}html[data-theme=dark] :is(.jd-tablewrap,.jd-layout-chart-choice,.jd-chart-editor,.jd-diff,.jd-urgent .note,.jd-upload-review-block,.jd-upload-dataset){background:hsla(0,0%,100%,.035)}html[data-theme=dark] .jd-upload-review-block{border-color:var(--sand-soft)}html[data-theme=dark] :is(.jd-recent-item:hover,.jd-table tbody tr:hover,.jd-editability-choice:hover,.jd-layout-choice:hover,.jd-drop.on,.jd-drop:hover){background:hsla(0,0%,100%,.07)}html[data-theme=dark] .jd-diff.appedit{background:hsla(36,52%,66%,.09)}html[data-theme=dark] .jd-grant.inherit{opacity:.7}@media (max-width:480px){.auth-lang{top:12px;inset-inline-start:12px}.jd-user{flex-wrap:wrap}}