:root{--ink:#131311;--ink-soft:#3D3D38;--muted:#75756B;--line:#E2E2DA;--paper:#F5F5F0;--card:#FFFFFF;--signal:#FFD400;--signal-deep:#E0B900;--danger:#B3261E;--ok:#1B6B45;--sp:8px;--radius:3px;--shadow:0 1px 2px rgba(19,19,17,.06),0 8px 24px -12px rgba(19,19,17,.18)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:IBM Plex Sans Arabic,IBM Plex Sans,system-ui,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0}h1{font-size:1.6rem}h2{font-size:1.15rem}a{color:inherit}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.03em;font-size:1.15rem}.brand-mark{width:26px;height:26px;background:var(--signal);border-radius:2px;flex:none;display:grid;place-items:center;color:var(--ink);font-size:15px;font-weight:800}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#F2F2EC;padding:24px 16px;display:flex;flex-direction:column;gap:28px}.sidebar .brand{color:#fff}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);text-decoration:none;color:#B9B9AE;font-size:.92rem;position:relative;transition:background .12s,color .12s}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a[aria-current=page]{background:rgba(255,255,255,.09);color:#fff;font-weight:600}.nav a[aria-current=page]:before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:3px;background:var(--signal);border-radius:2px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;font-size:.82rem;color:#8A8A80}.main{padding:32px 40px 64px;max-width:1080px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px}.eyebrow{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.card-pad{padding:24px}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:start;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:12px 16px;background:#FBFBF8}td,th{border-bottom:1px solid var(--line)}td{padding:14px 16px;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#FCFCF9}.tag{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;padding:3px 9px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink-soft)}.tag-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.tag-active{color:var(--ok);border-color:#BFE0CE;background:#F1F9F4}.tag-pending{color:#8A6A00;border-color:#EBD98F;background:#FFFBEB}.tag-expired{color:var(--danger);border-color:#E8C0BC;background:#FDF3F2}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:.84rem;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:.78rem;color:var(--muted)}input,select,textarea{font:inherit;font-size:.93rem;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--signal);outline-offset:-1px;border-color:var(--signal-deep)}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.btn,button{font:inherit;font-weight:600;font-size:.9rem;padding:10px 20px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .12s,border-color .12s}.btn-primary{background:var(--signal);color:var(--ink)}.btn-primary:hover{background:var(--signal-deep)}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--muted)}button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:.89rem;margin-bottom:20px;border:1px solid}.alert-error{background:#FDF3F2;border-color:#E8C0BC;color:#8C1D18}.alert-ok{background:#F1F9F4;border-color:#BFE0CE;color:#145636}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px}.auth-head{background:var(--ink);color:#fff;padding:22px 28px;border-radius:var(--radius) var(--radius) 0 0}.auth-body{background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);padding:28px}.otp-input{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.6rem;letter-spacing:.5em;text-align:center;padding:12px;text-indent:.5em}.empty{text-align:center;padding:56px 24px;color:var(--muted)}.empty h2{color:var(--ink);margin-bottom:6px}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:16px;padding:12px 16px;overflow-x:auto}.sidebar .brand span:last-child,.sidebar-foot{display:none}.nav{flex-direction:row}.nav a[aria-current=page]:before{inset:auto 8px 0 8px;width:auto;height:3px;top:auto}.main{padding:20px 16px 48px}.row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sec-title{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:28px 0 16px;padding-bottom:9px;border-bottom:1px solid var(--line)}.sec-title:first-child{margin-top:0}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:16px;gap:16px}.hint-line{font-size:.84rem;color:var(--muted);margin:-8px 0 16px}.thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumbs img{width:96px;height:96px;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius)}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:.9rem}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}@media (max-width:640px){.kv,.row3{grid-template-columns:1fr}.kv{gap:2px 0}}