/* QR MENU — منصة الإدارة (RTL حقيقي: خصائص منطقية inline-start/end) */
:root{
  --paper:#F6F2EA; --surface:#fff; --ink:#1D2620; --ink-2:#4B584F; --ink-3:#6B766E;
  --line:#E3DCCD; --line-2:#CFC5B1;
  --brand:#2D5A43; --brand-2:#244A37; --brand-soft:#E5EEE8; --on-brand:#fff;
  --accent:#B5532C;
  --ok:#1D6A39; --ok-bg:#E3F3E8; --warn:#7A4D00; --warn-bg:#FFF1CF; --bad:#A4261D; --bad-bg:#FBE5E2; --info:#1E4E79; --info-bg:#E2EDF8;
  --r-sm:8px; --r:12px; --r-lg:18px;
  --sh:0 1px 2px rgba(29,38,32,.06),0 4px 14px rgba(29,38,32,.06);
  --font:'Tajawal','Segoe UI',Tahoma,sans-serif; --font-d:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif;
  --sidebar:272px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-d);line-height:1.35;margin:0 0 .5em;font-weight:800}
h1{font-size:1.65rem} h2{font-size:1.25rem} .h3,h3{font-size:1.05rem;font-weight:700}
p{margin:0 0 1em} a{color:var(--brand);text-underline-offset:3px}
img{max-width:100%;display:block}
.muted{color:var(--ink-2)} .small{font-size:.875rem} .nowrap{white-space:nowrap} .ltr{direction:ltr;unicode-bidi:isolate;text-align:start}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid #F2A65A;outline-offset:2px;border-radius:6px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-sm{width:16px;height:16px} .ic-lg{width:28px;height:28px}

/* ---------- أزرار ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-sm);border:1.5px solid transparent;font:700 .95rem/1 var(--font);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;background:none;color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);color:var(--on-brand)} .btn-primary:hover{background:var(--brand-2)}
.btn-secondary{background:var(--surface);border-color:var(--line-2)} .btn-secondary:hover{border-color:var(--ink-3)}
.btn-ghost{color:var(--brand)} .btn-ghost:hover{background:var(--brand-soft)}
.btn-danger{background:var(--bad);color:#fff} .btn-danger:hover{background:#85180F}
.btn-danger-o{border-color:#E7B7B2;color:var(--bad);background:var(--surface)} .btn-danger-o:hover{background:var(--bad-bg)}
.btn-sm{min-height:36px;padding:0 12px;font-size:.85rem} .btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-icon{width:40px;min-height:40px;padding:0}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
form.inline{display:inline}

/* ---------- نماذج ---------- */
.form{display:grid;gap:18px}
.field{display:grid;gap:6px;min-width:0}
.field>label,.label{font-weight:700;font-size:.95rem}
.req{color:var(--bad);margin-inline-start:4px}
.opt{color:var(--ink-3);font-weight:400;font-size:.85rem;margin-inline-start:6px}
.input,.select,.textarea{width:100%;min-height:46px;padding:10px 14px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);font:400 1rem/1.5 var(--font);color:var(--ink)}
.textarea{min-height:96px;resize:vertical}
.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-3)}
.input:focus,.select:focus,.textarea:focus{outline:3px solid #F2A65A55;border-color:var(--brand)}
.input[aria-invalid=true]{border-color:var(--bad)}
.input-ltr{direction:ltr;text-align:start}
.hint{color:var(--ink-2);font-size:.875rem;margin:0}
.field-error{display:flex;gap:6px;align-items:flex-start;color:var(--bad);font-size:.9rem;font-weight:500;margin:0}
.field-error .ic{margin-top:4px}
.row{display:grid;gap:18px} @media(min-width:700px){.row-2{grid-template-columns:1fr 1fr}.row-3{grid-template-columns:repeat(3,1fr)}}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--brand);flex:none}
.check b{display:block} .check span.hint{display:block}
.input-group{display:flex;gap:8px} .input-group .input{flex:1}
fieldset{border:0;margin:0;padding:0;min-width:0} legend{padding:0;font-weight:700;margin-bottom:8px}
.choice-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.choice>span{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;min-height:76px;padding:12px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);font-weight:700}
.choice input:checked+span{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.choice input:focus-visible+span{outline:3px solid #F2A65A;outline-offset:2px}
.swatch{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-2)}
.uploader{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.thumb{width:72px;height:72px;border-radius:var(--r-sm);object-fit:cover;background:var(--brand-soft);border:1px solid var(--line)}
.thumb-lg{width:160px;height:90px}
.thumb-ph{display:grid;place-items:center;color:var(--ink-3)}

/* ---------- بطاقات وجداول ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.card+.card{margin-top:18px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.card-head h2{margin:0}
.grid{display:grid;gap:18px} .grid>.card+.card{margin-top:0}
@media(min-width:760px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.stat{display:grid;gap:2px}
.stat .n{font:800 1.9rem/1.2 var(--font-d);font-feature-settings:"tnum"}
.stat .l{color:var(--ink-2);font-size:.9rem}
.stat .s{color:var(--ink-3);font-size:.8rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.table{width:100%;border-collapse:collapse;font-size:.95rem}
.table th{text-align:start;font-weight:700;color:var(--ink-2);background:#FBF9F4;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:.875rem}
.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table .num{font-feature-settings:"tnum";white-space:nowrap}
.cell-main{display:flex;gap:12px;align-items:center;min-width:0}
.cell-main b{display:block}
@media(max-width:720px){
  .table-stack thead{display:none}
  .table-stack,.table-stack tbody,.table-stack tr,.table-stack td{display:block;width:100%}
  .table-stack tr{padding:12px 14px;border-bottom:1px solid var(--line)}
  .table-stack td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
  .table-stack td::before{content:attr(data-label);color:var(--ink-3);font-size:.85rem;flex:none}
  .table-stack td.cell-first{display:block} .table-stack td.cell-first::before{display:none}
  .table-stack td.cell-actions{justify-content:flex-start;padding-top:8px}
  .table-stack td.cell-actions::before{display:none}
}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:flex-end}
.filters .field{min-width:150px}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:40px;min-height:40px;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);text-decoration:none;color:var(--ink);padding:0 10px}
.pagination .cur{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- شارات وتنبيهات ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 9px;border-radius:99px;font-size:.8rem;font-weight:700;white-space:nowrap}
.badge-ok{background:var(--ok-bg);color:var(--ok)} .badge-warn{background:var(--warn-bg);color:var(--warn)}
.badge-bad{background:var(--bad-bg);color:var(--bad)} .badge-info{background:var(--info-bg);color:var(--info)} .badge-mute{background:#ECE7DC;color:var(--ink-2)}
.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);margin-bottom:16px;border:1px solid transparent}
.alert .ic{margin-top:3px}
.alert p{margin:0} .alert p+p{margin-top:.4em}
.alert-ok{background:var(--ok-bg);color:#124A27;border-color:#BFE3CB} .alert-warn{background:var(--warn-bg);color:#5C3A00;border-color:#EBD08F}
.alert-bad{background:var(--bad-bg);color:#7D1A13;border-color:#EFB9B3} .alert-info{background:var(--info-bg);color:#17405F;border-color:#BAD3EA}
.alert .btn{margin-top:8px}
.empty{text-align:center;padding:40px 20px;color:var(--ink-2)}
.empty .ic{width:40px;height:40px;color:var(--ink-3);margin:0 auto 10px}
.empty h3{margin-bottom:6px;color:var(--ink)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}
.kv dt{color:var(--ink-2)} .kv dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.divider{border:0;border-top:1px solid var(--line);margin:18px 0}

/* ---------- صفحات الدخول ---------- */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--paper)}
.auth-wrap{width:100%;max-width:440px}
.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh)}
.auth-title{font-size:1.5rem;margin-bottom:6px}
.auth-sub{color:var(--ink-2);margin-bottom:22px}
.auth-foot{margin-top:18px;text-align:center;color:var(--ink-2);font-size:.95rem}
.brand-mark{display:inline-flex;align-items:center;gap:10px;font:800 1.15rem var(--font-d);color:var(--ink);text-decoration:none;margin-bottom:18px}
.brand-mark .logo{width:36px;height:36px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center}
.admin-badge{background:#1D2620;color:#fff;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700}

/* ---------- هيكل اللوحة ---------- */
.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}
.sidebar{background:var(--surface);border-inline-end:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow-y:auto}
.shell-admin .sidebar{background:#1D2620;border-color:#1D2620;color:#DCE4DE}
.sidebar .brand-mark{padding:0 8px;margin-bottom:10px}
.shell-admin .sidebar .brand-mark{color:#fff}
.shell-admin .sidebar .brand-mark .logo{background:#E9C46A;color:#1D2620}
.nav-group{font-size:.75rem;font-weight:700;color:var(--ink-3);padding:14px 12px 4px;letter-spacing:0}
.shell-admin .nav-group{color:#8FA096}
.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:500;min-height:44px}
.nav-link:hover{background:#F1ECE1}
.nav-link[aria-current=page]{background:var(--brand-soft);color:var(--brand-2);font-weight:700}
.shell-admin .nav-link{color:#DCE4DE} .shell-admin .nav-link:hover{background:#2A372F}
.shell-admin .nav-link[aria-current=page]{background:#E9C46A;color:#1D2620}
.nav-count{margin-inline-start:auto;background:var(--accent);color:#fff;border-radius:99px;font-size:.75rem;padding:0 8px;min-width:22px;text-align:center}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:8px}
.shell-admin .side-foot{border-color:#34443A}
.who{padding:0 12px;font-size:.9rem} .who b{display:block}
.shell-admin .who span{color:#9DB0A3}
.main{min-width:0;padding:28px clamp(16px,4vw,44px) 64px}
.main-in{max-width:1040px;margin:0 auto}
.topbar{display:none}
.scrim{display:none}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.page-head h1{margin:0}
.page-head p{margin:4px 0 0;color:var(--ink-2)}
@media(max-width:900px){
  .shell{display:block}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
  .shell-admin .topbar{background:#1D2620;color:#fff;border-color:#1D2620}
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(86vw,300px);height:100%;z-index:50;transform:translateX(100%);transition:transform .22s;box-shadow:0 0 40px rgba(0,0,0,.25)}
  [dir=rtl] .sidebar{transform:translateX(100%)}
  body.nav-open .sidebar{transform:none}
  .scrim{position:fixed;inset:0;background:rgba(20,28,23,.5);z-index:40}
  body.nav-open .scrim{display:block}
  .main{padding-top:20px}
}
.toast-area{position:fixed;inset-inline:0;bottom:16px;display:grid;justify-items:center;gap:8px;z-index:90;pointer-events:none;padding:0 12px}
.toast{pointer-events:auto;background:#1D2620;color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--sh);max-width:520px;display:flex;gap:10px;align-items:center}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- الصفحة الرئيسية العامة ---------- */
.landing{max-width:1040px;margin:0 auto;padding:0 20px}
.l-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.l-hero{padding:48px 0 40px;display:grid;gap:28px;align-items:center}
@media(min-width:860px){.l-hero{grid-template-columns:1.15fr .85fr}}
.l-hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.25;margin-bottom:14px}
.l-hero p.lead{font-size:1.15rem;color:var(--ink-2);max-width:34em}
.l-steps{display:grid;gap:14px;margin:36px 0}
@media(min-width:760px){.l-steps{grid-template-columns:repeat(3,1fr)}}
.l-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.l-step .n{font:800 1.4rem var(--font-d);color:var(--accent)}
.phone-mock{justify-self:center;width:min(300px,100%);background:#fff;border:1px solid var(--line-2);border-radius:28px;padding:16px;box-shadow:var(--sh)}
.phone-mock .pm-bar{height:6px;width:60px;background:var(--line);border-radius:9px;margin:0 auto 14px}
.pm-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}
.pm-cart{margin-top:14px;background:var(--brand);color:#fff;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;font-weight:700}
.l-foot{padding:30px 0;color:var(--ink-2);border-top:1px solid var(--line);display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.price-grid{display:grid;gap:14px} @media(min-width:760px){.price-grid{grid-template-columns:repeat(3,1fr)}}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.price-card .pr{font:800 2rem var(--font-d)} .price-card ul{padding-inline-start:18px;color:var(--ink-2)}

/* ---------- تخصيص: المعاينة ---------- */
.split{display:grid;gap:22px} @media(min-width:980px){.split{grid-template-columns:1fr 340px;align-items:start}}
.preview-frame{border:1px solid var(--line-2);border-radius:26px;background:#fff;overflow:hidden;position:sticky;top:20px}
.preview-frame .pv-title{font-size:.8rem;color:var(--ink-3);text-align:center;padding:8px;border-bottom:1px solid var(--line)}

/* ---------- QR والطباعة ---------- */
.qr-box{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.qr-box svg,.qr-box canvas{width:100%;max-width:260px;height:auto}
.poster{display:none}
@media print{
  body{background:#fff}
  .shell>.sidebar,.topbar,.page-head,.no-print,.toast-area,.scrim,.main-in>*:not(.poster){display:none!important}
  .shell{display:block}.main{padding:0}
  .poster{display:grid!important;place-items:center;text-align:center;gap:14px;padding:32px;border:3px solid #000;border-radius:24px;margin:0 auto;max-width:560px;page-break-inside:avoid}
  .poster img{width:110px;height:110px;object-fit:contain}
  .poster h2{font-size:2rem;margin:0} .poster .poster-qr svg{width:360px;height:360px}
  .poster p{font-size:1.2rem;margin:0}
}
@media(max-width:759px){.g4{grid-template-columns:1fr 1fr}.stat .n{font-size:1.5rem}}
