:root{--ink: #241a1a;--ink-soft: #6a5a56;--coral: #ff4b47;--coral-d: #d92f2c;--cream: #f3e9d6;--paper: #fffaf0;--butter: #ffd45e;--mint: #b9e8cb;--blush: #ffd3cc;--ok: #14744a;--warn: #9a5b00;--bad: #c4162a;--info: #2b5fd0;--display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;--sans: "DM Sans", system-ui, sans-serif;--mono: "DM Mono", ui-monospace, Menlo, monospace;--pop: 3px 3px 0 var(--ink);--pop-lg: 5px 5px 0 var(--ink)}body{margin:0;min-height:100vh;font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink);background:#f8f2e4}code{font-family:var(--mono);font-size:.88em;padding:.05rem .4rem;background:var(--butter);border:1.5px solid var(--ink);border-radius:4px}.admin-shell,.admin-centered{--ink: #241a1a;--ink-soft: #6a5a56;--coral: #ff4b47;--coral-d: #d92f2c;--cream: #f3e9d6;--paper: #fffaf0;--butter: #ffd45e;--mint: #b9e8cb;--blush: #ffd3cc;--ok: #14744a;--warn: #9a5b00;--bad: #c4162a;--info: #2b5fd0;--display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;--sans: "DM Sans", system-ui, sans-serif;--mono: "DM Mono", ui-monospace, Menlo, monospace;--pop: 3px 3px 0 var(--ink);--pop-lg: 5px 5px 0 var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink)}.admin-shell{--cream: #f8f2e4;display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh;background:var(--cream)}.admin-main{grid-column:2;width:100%;max-width:74rem;box-sizing:border-box;padding:2.5rem 2.75rem 4rem;font-size:16px;line-height:1.6;animation:admin-in .4s ease both}.admin-main h1{display:inline-block;margin:0 0 1.75rem;padding-bottom:.4rem;font-family:var(--display);font-size:2.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.05}.admin-main h2{display:flex;align-items:center;gap:.75rem;margin:2.75rem 0 .4rem;font-family:var(--display);font-size:1.45rem;font-weight:700;letter-spacing:-.02em}.admin-main h3{font-family:var(--display);font-weight:700}.admin-main a{color:var(--coral-d);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:#d92f2c59;transition:text-decoration-color .15s}.admin-main a:hover{text-decoration-color:var(--coral-d)}@keyframes admin-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.admin-form{display:flex;flex-direction:column;gap:1rem;margin:1.25rem 0;max-width:40rem}.admin-form-inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none;padding:1.1rem 1.25rem;background:var(--paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop)}.admin-form label,.admin-filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-form input,.admin-form select,.admin-form textarea,.admin-filters input,.admin-filters select{padding:.6rem .75rem;font:inherit;font-size:.95rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:8px;transition:box-shadow .12s,transform .12s}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-filters input:focus,.admin-filters select:focus{outline:none;background:#fffdf5;box-shadow:4px 4px 0 var(--butter),4px 4px 0 2px var(--ink);transform:translate(-2px,-2px)}.admin-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:.9rem 1.15rem;margin:1.25rem 0;background:var(--paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop)}.admin-filters label{flex-direction:row;align-items:center}.admin-table{width:100%;margin:1rem 0;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop-lg)}.admin-table th{padding:.7rem 1rem;text-align:start;font-family:var(--display);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--butter);border-bottom:2px solid var(--ink)}.admin-table td{padding:.75rem 1rem;text-align:start;vertical-align:top;border-bottom:1.5px dotted rgba(36,26,26,.35);font-variant-numeric:tabular-nums}.admin-table tbody tr{transition:background .1s}.admin-table tbody tr:hover{background:var(--blush)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-dl{display:grid;grid-template-columns:14rem 1fr;gap:.7rem 1.5rem;margin:1.25rem 0;padding:1.25rem 1.5rem;background:var(--paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop-lg)}.admin-dl dt{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.admin-dl dd{margin:0}.admin-muted{color:var(--ink-soft)}.admin-error,.admin-notice,.admin-confirm{padding:.75rem 1rem;margin:1rem 0;border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop)}.admin-error{background:var(--blush)}.admin-error:before{content:"Oops — ";font-weight:700}.admin-notice{background:var(--mint)}.admin-confirm{max-width:44rem;background:var(--butter)}.admin-shell>.admin-error{position:fixed;inset-inline-end:1.5rem;bottom:1.5rem;z-index:40;max-width:24rem;margin:0;transform:rotate(-1deg)}button{display:inline-block;padding:.55rem 1.1rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;color:var(--ink);text-decoration:none;background:var(--paper);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--pop);transition:transform .1s,box-shadow .1s,background .1s}button:hover:not(:disabled){background:var(--butter);transform:translate(-2px,-2px);box-shadow:var(--pop-lg)}button:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.admin-form button[type=submit]{background:var(--coral)}.admin-form button[type=submit]:hover:not(:disabled){background:#ff6b66}button:disabled{cursor:default;opacity:.5;box-shadow:none}.admin-header{position:sticky;top:0;align-self:start;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;gap:1.75rem;padding:1.75rem 1.1rem 1.25rem;color:var(--ink);background:repeating-radial-gradient(circle at 12% 108%,transparent 0 22px,rgba(255,255,255,.16) 22px 24px),repeating-radial-gradient(circle at 96% -8%,transparent 0 30px,rgba(255,255,255,.12) 30px 32px),var(--coral);border-inline-end:2px solid var(--ink)}.admin-brand{font-family:var(--display);font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1;padding-inline-start:.35rem;transform:rotate(-2deg);transform-origin:left center}.admin-brand-name:after{content:"";display:inline-block;width:.8rem;height:.8rem;margin-inline-start:.2rem;border-radius:50%;background:radial-gradient(circle,#eceff2 0 42%,var(--butter) 46%);border:2px solid var(--ink)}.admin-brand small{display:inline-block;margin-inline-start:.55rem;padding:.05rem .5rem;vertical-align:.3em;font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:var(--butter);border:2px solid var(--ink);border-radius:999px}.admin-nav{display:flex;flex-direction:column;gap:.35rem}.admin-nav a{padding:.55rem .8rem;font-weight:600;color:var(--ink);text-decoration:none;border:2px solid transparent;border-radius:8px;transition:transform .12s,background .12s}.admin-nav a:hover{background:var(--butter);border-color:var(--ink);transform:rotate(-1.2deg) translate(3px)}.admin-nav a.active{background:var(--paper);border-color:var(--ink);box-shadow:var(--pop);transform:translate(6px)}.admin-nav a.active:before{content:"→ ";color:var(--coral-d)}.admin-identity{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:.9rem;font-size:.85rem;word-break:break-word;background:var(--paper);border:2px dashed var(--ink);border-radius:10px;transform:rotate(1deg)}.admin-identity button{align-self:stretch}.admin-role-chip{display:inline-block;padding:.05rem .5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--butter);border:2px solid var(--ink);border-radius:999px}@media (max-width: 860px){.admin-shell{display:block}.admin-header{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-inline-end:none;border-bottom:2px solid var(--ink);padding:1rem}.admin-nav{flex-direction:row;flex-wrap:wrap}.admin-identity{margin-top:0;transform:none}.admin-main{padding:1.5rem 1rem 3rem}}.admin-shell>.impersonation-banner{grid-column:1 / -1}.admin-shell:has(.impersonation-banner) .admin-header{top:3.6rem;height:calc(100vh - 3.6rem)}.admin-centered{position:relative;max-width:26rem;margin:9vh auto;padding:2.25rem;background:var(--paper);border:2px solid var(--ink);border-radius:12px;box-shadow:8px 8px 0 var(--ink)}.admin-centered h1{margin:0 0 .25rem;font-family:var(--display);font-size:2rem;font-weight:800;letter-spacing:-.03em}.admin-error-page{max-width:38rem;padding:0 0 2.5rem;overflow:hidden;text-align:center;background:var(--paper);border:2px solid var(--ink);border-radius:12px;box-shadow:8px 8px 0 var(--ink);animation:admin-err-pop .5s cubic-bezier(.2,.9,.3,1.2) both}.admin-error-page:before{content:"FilsPay Admin";position:absolute;top:1rem;inset-inline-start:1rem;inset-inline-end:auto;z-index:2;padding:.2rem .7rem;font-family:var(--mono);font-size:.75rem;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:4px;transform:rotate(-3deg)}.admin-error-art{position:relative;height:13rem;margin-bottom:1.5rem;overflow:hidden;background:repeating-radial-gradient(circle at 12% 108%,transparent 0 22px,rgba(255,255,255,.35) 22px 24px),repeating-radial-gradient(circle at 96% -8%,transparent 0 30px,rgba(255,255,255,.3) 30px 32px),var(--butter);border-bottom:2px solid var(--ink)}.admin-error-card{position:absolute;top:50%;left:50%;width:8.5rem;height:5.4rem;margin:-2.7rem 0 0 -4.25rem;background:var(--paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--pop)}.admin-error-card:before{content:"";position:absolute;top:.8rem;left:.8rem;width:1.5rem;height:1.1rem;background:var(--butter);border:2px solid var(--ink);border-radius:4px}.admin-error-card:after{content:"";position:absolute;left:.8rem;bottom:.9rem;width:55%;height:.4rem;background:var(--ink);border-radius:2px;opacity:.8;box-shadow:0 -.9rem 0 -.05rem #241a1a40}.admin-error-card-a{background:var(--coral);--x: -7.2rem;--r: -14deg;animation:admin-err-float 4.2s ease-in-out infinite}.admin-error-card-c{background:var(--mint);--x: 7.2rem;--r: 12deg;animation:admin-err-float 4.2s ease-in-out -2.1s infinite}.admin-error-card-b{--x: 0rem;--r: -3deg;z-index:1;animation:admin-err-float 3.4s ease-in-out -1s infinite}.admin-error-mark{position:absolute;top:-.9rem;right:-.9rem;display:grid;place-items:center;width:2rem;height:2rem;font-family:var(--display);font-size:1.1rem;font-weight:800;color:#fff;background:var(--bad);border:2px solid var(--ink);border-radius:50%;animation:admin-err-pulse 1.6s ease-in-out infinite}.admin-error-spark{position:absolute;width:.7rem;height:.7rem;background:var(--ink);border-radius:50%;opacity:.85;animation:admin-err-twinkle 2.4s ease-in-out infinite}.admin-error-spark-1{top:22%;left:14%}.admin-error-spark-2{top:68%;right:16%;background:var(--coral);animation-delay:-1.2s}.admin-error-spark-3{top:18%;right:26%;width:.5rem;height:.5rem;animation-delay:-.6s}.admin-error-code{display:block;margin:0;padding:0 2rem;font-family:var(--display);font-size:clamp(3.2rem,15vw,5.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink);background:none;border:0;text-shadow:4px 4px 0 var(--butter);animation:admin-err-drop .6s .15s cubic-bezier(.2,.9,.3,1.3) both}.admin-error-code-bad{text-shadow:4px 4px 0 var(--blush)}.admin-error-page h1{display:block;margin:.6rem 0 .5rem;padding:0 2rem;font-size:1.9rem;line-height:1.15}.admin-error-description{margin:0 auto;padding:0 2rem;max-width:28rem;font-size:1rem;color:var(--ink-soft)}.admin-error-actions{display:flex;justify-content:center;margin-top:1.75rem}.admin-error-page .admin-error-primary{display:inline-block;padding:.65rem 1.4rem;font:inherit;font-size:.95rem;font-weight:700;line-height:1.2;cursor:pointer;color:var(--ink);background:var(--coral);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--pop);transition:transform .1s,box-shadow .1s,background .1s}.admin-error-page .admin-error-primary:hover{background:#ff6b66;transform:translate(-2px,-2px);box-shadow:var(--pop-lg)}.admin-error-page .admin-error-primary:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.admin-error-page .admin-error-primary:focus-visible{outline:3px solid var(--info);outline-offset:3px}@keyframes admin-err-pop{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes admin-err-float{0%,to{transform:translate(var(--x)) rotate(var(--r))}50%{transform:translate(var(--x),-.8rem) rotate(calc(var(--r) * -.5))}}@keyframes admin-err-drop{0%{opacity:0;transform:translateY(-24px) scale(1.15)}to{opacity:1;transform:none}}@keyframes admin-err-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes admin-err-twinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:.9;transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){.admin-error-page,.admin-error-card,.admin-error-mark,.admin-error-spark,.admin-error-code{animation:none}.admin-error-card{transform:translate(var(--x, 0)) rotate(var(--r, 0deg))}}body:has(.admin-centered){background:repeating-radial-gradient(circle at 12% 108%,transparent 0 22px,rgba(255,255,255,.16) 22px 24px),repeating-radial-gradient(circle at 96% -8%,transparent 0 30px,rgba(255,255,255,.12) 30px 32px),#ff4b47}.admin-id-list{max-height:14rem;overflow-y:auto}.impersonation-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;color:#fff;background:#b0001d;border-bottom:4px solid var(--ink);position:sticky;top:0;z-index:30;box-shadow:0 6px 0 var(--butter)}.impersonation-banner code{color:var(--ink)}.impersonation-banner button{margin-inline-start:auto;white-space:nowrap;background:var(--butter)}.impersonation-banner-error{margin-top:.4rem;font-weight:700}@media (max-width: 720px){.admin-dl{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto}}html[lang=ar],html[lang=ar] .admin-shell,html[lang=ar] .admin-centered{--sans: "Noto Sans Arabic", "DM Sans", system-ui, sans-serif;--display: "Noto Sans Arabic", "Bricolage Grotesque", "Trebuchet MS", sans-serif}html[lang=ar] *{letter-spacing:normal!important}.admin-lang-fixed{position:absolute;top:1rem;inset-inline-end:1rem;z-index:50}.admin-lang-inline{display:block;margin:0 0 1rem;margin-inline-start:auto}html[dir=rtl] .admin-brand{transform-origin:right center}html[dir=rtl] .admin-nav a:hover{transform:rotate(1.2deg) translate(-3px)}html[dir=rtl] .admin-nav a.active{transform:translate(-6px)}html[dir=rtl] .admin-nav a.active:before{content:"← "}html[lang=ar] .admin-error:before{content:"عفوًا — "}html[lang=ar] .admin-error-page:before{content:"إدارة فلس باي"}html[dir=rtl] code,html[dir=rtl] pre{direction:ltr;unicode-bidi:isolate}html[dir=rtl] .admin-form input[type=email],html[dir=rtl] .admin-form input[type=password],html[dir=rtl] .admin-form input[type=tel],html[dir=rtl] .admin-form input[type=url],html[dir=rtl] .admin-form input[type=number],html[dir=rtl] .admin-form input[inputmode=decimal],html[dir=rtl] .admin-form input[inputmode=numeric]{direction:ltr;text-align:end}.admin-form select,.admin-filters select,.admin-role-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2.2rem;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%23241a1a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right .8rem center}.admin-role-select{min-width:9.5rem;padding:.45rem 2.2rem .45rem .75rem;font:inherit;font-size:.88rem;font-weight:700;color:var(--ink);background-color:var(--butter);border:2px solid var(--ink);border-radius:999px;box-shadow:var(--pop);transition:box-shadow .12s,transform .12s,background-color .12s}.admin-role-select:hover:not(:disabled){background-color:#ffe08a;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.admin-role-select:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--coral)}.admin-role-select:disabled{opacity:.55;cursor:progress;box-shadow:none}.admin-role-select option{font-weight:600;color:var(--ink);background:var(--paper)}[dir=rtl] .admin-form select,[dir=rtl] .admin-filters select,[dir=rtl] .admin-role-select{padding-right:.75rem;padding-left:2.2rem;background-position:left .8rem center}
