/* مُدار — ثيم الجرافيت التنفيذي على توكنز هوية بذرة v5 (IBM Plex Sans Arabic · لا faux-bold · لا letter-spacing عربي) */
@font-face{font-family:"IBM Plex Sans Arabic";src:url("/static/fonts/IBMPlexSansArabic-Regular.woff2") format("woff2"),url("/static/fonts/IBMPlexSansArabic-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("/static/fonts/IBMPlexSansArabic-Medium.woff2") format("woff2"),url("/static/fonts/IBMPlexSansArabic-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("/static/fonts/IBMPlexSansArabic-SemiBold.woff2") format("woff2"),url("/static/fonts/IBMPlexSansArabic-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("/static/fonts/IBMPlexSansArabic-Bold.woff2") format("woff2"),url("/static/fonts/IBMPlexSansArabic-Bold.ttf") format("truetype");font-weight:700;font-display:swap}

:root{
  color-scheme:dark;
  --bg-0:#0B0F14; --bg-1:#111722; --bg-2:#1A2230; --bg-3:#222B3B;
  --surface:rgba(255,255,255,.04); --surface-2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.18);
  --ink:#F4F7FA; --muted:#AEB9C4; --faint:#7B8794;
  --teal:#00D4B8; --teal-deep:#00705F; --blue:#1B8FE8; --blue-deep:#0E5FB4; --violet:#8338EC; --mint:#2EEAA0;
  --gold:#E7C185; --gold-light:#F4D491;
  --ok:#2EBD85; --warn:#E8B93B; --danger:#E85C5C; --info:#1B8FE8;
  --st-vacant_dirty:#E8B93B; --st-cleaning:#1B8FE8; --st-ready:#2EBD85; --st-occupied:#B06AF2; --st-blocked_maintenance:#E85C5C;
  --radius-s:8px; --radius:14px; --radius-l:22px; --pill:999px;
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --ease:cubic-bezier(.16,1,.3,1); --dur:220ms;
  --font:"IBM Plex Sans Arabic",-apple-system,system-ui,Tahoma,sans-serif;
  --tap:44px;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    color-scheme:light;
    --bg-0:#F6F8FA; --bg-1:#FFFFFF; --bg-2:#EDF1F5; --bg-3:#DEE5EC;
    --surface:rgba(14,17,22,.03); --surface-2:rgba(14,17,22,.06);
    --border:rgba(14,17,22,.10); --border-strong:rgba(14,17,22,.22);
    --ink:#0E1116; --muted:#4A545E; --faint:#6B7684;
    --teal:#008573; --blue:#0E5FB4; --violet:#6A28C7; --gold:#8A6A33; --gold-light:#BB8430;
    --ok:#1F7A4D; --warn:#8F5E00; --danger:#B83232; --info:#0E5FB4;
    --st-vacant_dirty:#B87A00; --st-cleaning:#0E5FB4; --st-ready:#1F7A4D; --st-occupied:#6A28C7; --st-blocked_maintenance:#B83232;
    --shadow:0 14px 40px rgba(14,17,22,.10);
  }
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg-0:#F6F8FA; --bg-1:#FFFFFF; --bg-2:#EDF1F5; --bg-3:#DEE5EC;
  --surface:rgba(14,17,22,.03); --surface-2:rgba(14,17,22,.06);
  --border:rgba(14,17,22,.10); --border-strong:rgba(14,17,22,.22);
  --ink:#0E1116; --muted:#4A545E; --faint:#6B7684;
  --teal:#008573; --blue:#0E5FB4; --violet:#6A28C7; --gold:#8A6A33; --gold-light:#BB8430;
  --ok:#1F7A4D; --warn:#8F5E00; --danger:#B83232; --info:#0E5FB4;
  --st-vacant_dirty:#B87A00; --st-cleaning:#0E5FB4; --st-ready:#1F7A4D; --st-occupied:#6A28C7; --st-blocked_maintenance:#B83232;
  --shadow:0 14px 40px rgba(14,17,22,.10);
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-block-size:100dvh;background:var(--bg-0);color:var(--ink);font:400 16px/1.6 var(--font);}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(90% 60% at 50% -10%,rgba(0,212,184,.10),transparent 60%),
             radial-gradient(60% 40% at 100% 100%,rgba(131,56,236,.07),transparent 60%);}
button,input,textarea,select{font:inherit;color:inherit}
button,a,label{touch-action:manipulation}
a{color:var(--teal)}
img{max-inline-size:100%;display:block}
h1,h2,h3,h4,p{margin-block-start:0}
h1,h2,h3,h4{line-height:1.4;font-weight:600}
h1{font-size:clamp(22px,3vw,30px)} h2{font-size:clamp(18px,2.4vw,22px)} h3{font-size:17px}
.muted{color:var(--muted)} .faint{color:var(--faint)} .gold{color:var(--gold)}
.ltr{direction:ltr;unicode-bidi:isolate} .num{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;transform:translateY(-160%);padding:10px 14px;background:var(--teal);color:#06110F;border-radius:8px;font-weight:600}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}

/* ── بطاقات وأسطح ── */
.card{background:linear-gradient(160deg,var(--bg-1),var(--bg-2));border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),var(--shadow)}
.card--flat{box-shadow:none}
.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}
.card__body{padding:16px 18px}
.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}

/* ── الأزرار ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:var(--tap);padding:0 18px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink);font-weight:600;cursor:pointer;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.btn:hover{background:var(--bg-3);border-color:var(--border-strong)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn--primary{background:linear-gradient(135deg,var(--teal),var(--blue));border-color:transparent;color:#06110F}
:root[data-theme="light"] .btn--primary,:root:not([data-theme="dark"]) .btn--primary{color:#fff}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn--primary{color:#06110F} }
.btn--ghost{background:transparent;border-color:transparent}
.btn--danger{border-color:rgba(232,92,92,.5);color:var(--danger)}
.btn--ok{border-color:rgba(46,189,133,.5);color:var(--ok)}
.btn--sm{min-block-size:36px;padding:0 12px;font-size:14px;border-radius:10px}
.btn--icon{inline-size:var(--tap);padding:0}
.btn--wa{background:#1FA855;border-color:transparent;color:#fff}

/* ── أيقونات ── */
.icon{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon--sm{inline-size:16px;block-size:16px}

/* ── الرقائق والحالات ── */
.chip{display:inline-flex;align-items:center;gap:6px;min-block-size:26px;padding:0 10px;border-radius:var(--pill);font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap}
.chip--gold{color:var(--gold);border-color:rgba(231,193,133,.45);background:rgba(231,193,133,.08)}
.chip--ok{color:var(--ok);border-color:rgba(46,189,133,.4)} .chip--warn{color:var(--warn);border-color:rgba(232,185,59,.4)} .chip--danger{color:var(--danger);border-color:rgba(232,92,92,.4)} .chip--info{color:var(--info);border-color:rgba(27,143,232,.4)}
.status{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:13.5px}
.status::before{content:"";inline-size:9px;block-size:9px;border-radius:50%;background:var(--dot,var(--faint));box-shadow:0 0 0 3px color-mix(in srgb,var(--dot,var(--faint)) 22%,transparent)}
.status[data-status="vacant_dirty"]{--dot:var(--st-vacant_dirty)} .status[data-status="cleaning"]{--dot:var(--st-cleaning)} .status[data-status="ready"]{--dot:var(--st-ready)} .status[data-status="occupied"]{--dot:var(--st-occupied)} .status[data-status="blocked_maintenance"]{--dot:var(--st-blocked_maintenance)}
.status[data-status="planned"]{--dot:var(--faint)} .status[data-status="assigned"]{--dot:var(--info)} .status[data-status="in_progress"]{--dot:var(--warn)} .status[data-status="completed"]{--dot:var(--ok)} .status[data-status="cancelled"]{--dot:var(--danger)}
.status[data-status="open"]{--dot:var(--danger)} .status[data-status="acknowledged"]{--dot:var(--warn)} .status[data-status="resolved"]{--dot:var(--info)} .status[data-status="closed"]{--dot:var(--ok)} .status[data-status="dismissed"]{--dot:var(--faint)}
.status[data-status="confirmed"]{--dot:var(--info)} .status[data-status="checked_in"]{--dot:var(--st-occupied)} .status[data-status="checked_out"]{--dot:var(--ok)}
.unit-bar{inline-size:4px;border-radius:4px;background:var(--bar,var(--faint));align-self:stretch}
[data-unit-status="vacant_dirty"]{--bar:var(--st-vacant_dirty)} [data-unit-status="cleaning"]{--bar:var(--st-cleaning)} [data-unit-status="ready"]{--bar:var(--st-ready)} [data-unit-status="occupied"]{--bar:var(--st-occupied)} [data-unit-status="blocked_maintenance"]{--bar:var(--st-blocked_maintenance)}

/* ── النماذج ── */
.field{display:grid;gap:6px}
.field>span{font-size:13px;color:var(--muted);font-weight:500}
.input,select.input,textarea.input{min-block-size:var(--tap);padding:10px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-1);color:var(--ink);inline-size:100%}
textarea.input{min-block-size:96px;resize:vertical}
.input:focus{border-color:var(--teal)}
.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.form-grid .field--full{grid-column:1/-1}
.check{display:flex;align-items:center;gap:12px;min-block-size:var(--tap);padding:8px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer}
.check input{inline-size:22px;block-size:22px;accent-color:var(--teal)}
.check--done{border-color:rgba(46,189,133,.5)}

/* ── الشبكات ── */
.bento{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi{padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);display:grid;gap:4px;min-block-size:88px}
.kpi__label{font-size:12.5px;color:var(--muted)}
.kpi__value{font-size:28px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.kpi__sub{font-size:12px;color:var(--faint)}
.kpi--alert .kpi__value{color:var(--danger)} .kpi--ok .kpi__value{color:var(--ok)} .kpi--warn .kpi__value{color:var(--warn)}
.grid-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.row--between{justify-content:space-between}
.stack{display:grid;gap:12px}
.list{display:grid;gap:8px}
.list-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);min-inline-size:0}
.list-item>.grow{flex:1;min-inline-size:0}
.list-item .title{font-weight:600}
.list-item .sub{font-size:13px;color:var(--muted)}
.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty{padding:28px 16px;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius)}
.empty strong{display:block;color:var(--ink);margin-block-end:4px}

/* ── الجداول ── */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
table.table{inline-size:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:10px 12px;text-align:start;border-block-end:1px solid var(--border);white-space:nowrap}
.table th{font-weight:600;color:var(--muted);font-size:12.5px;background:var(--surface)}

/* ── التنبيهات ── */
.toast{position:fixed;inset-block-end:18px;inset-inline-start:50%;transform:translateX(-50%);z-index:2000;padding:12px 18px;border-radius:12px;background:var(--bg-3);border:1px solid var(--border-strong);color:var(--ink);box-shadow:var(--shadow);max-inline-size:min(92vw,520px);font-weight:500}
[dir="rtl"] .toast{transform:translateX(50%)}
.toast.ok{border-color:var(--ok)} .toast.err{border-color:var(--danger)}

/* ── الورقة (Sheet/Modal) ── */
.sheet{position:fixed;inset:0;z-index:1500;display:grid;place-items:end center;background:rgba(6,9,14,.55);backdrop-filter:blur(6px);padding:0}
.sheet__panel{inline-size:min(100%,680px);max-block-size:92dvh;overflow:auto;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:22px 22px 0 0;padding:18px 18px 28px;animation:rise var(--dur) var(--ease)}
@media (min-width:768px){.sheet{place-items:center;padding:24px}.sheet__panel{border-radius:var(--radius-l)}}
@keyframes rise{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:12px}

/* ── الهيدر والتنقل ── */
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-inline-size:0}
.topbar .actions{margin-inline-start:auto}
@media (max-width:640px){.brand__name{font-size:16px}}
.brand{display:inline-flex;align-items:center;gap:10px;min-inline-size:0}
.brand__name{font-size:19px;font-weight:700;line-height:1.4}
.brand__sub{font-size:12.5px;color:var(--muted);line-height:1.4}
.demo-badge{display:inline-flex;align-items:center;min-block-size:22px;padding:0 9px;border-radius:var(--pill);border:1px solid rgba(231,193,133,.5);color:var(--gold);background:rgba(231,193,133,.08);font-size:11px;font-weight:700}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;border-radius:14px;border:1px solid var(--border);background:var(--surface);scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-block-size:40px;padding:0 14px;border-radius:10px;border:0;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:var(--bg-3);color:var(--ink)}
.tab .badge{min-inline-size:20px;block-size:20px;padding:0 6px;border-radius:var(--pill);background:var(--danger);color:#fff;font-size:11.5px;display:inline-grid;place-items:center}
.tab .badge:empty{display:none}

/* ── الشاشات ── */
.screen{display:none} .screen--active{display:block}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:18px 10px}
.section-title h2{margin:0}
.decision{border-color:rgba(232,92,92,.45);background:linear-gradient(160deg,rgba(232,92,92,.08),transparent)}
.decision .title{color:var(--danger)}

/* ── لوحة PIN ── */
.pin-dots{display:flex;justify-content:center;gap:12px;margin-block:16px}
.pin-dot{inline-size:14px;block-size:14px;border-radius:50%;border:2px solid var(--border-strong)}
.pin-dot--full{background:var(--teal);border-color:var(--teal)}
.pin-pad{direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-inline-size:320px;margin-inline:auto}
.pin-pad button{min-block-size:60px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2);font-size:22px;font-weight:600;cursor:pointer}
.pin-pad button:active{transform:scale(.97)}
.login-card{max-inline-size:440px;margin:6vh auto 0;padding:26px 22px;text-align:center}
.login-card h1{margin-block:14px 6px}

/* ── الفوتر / التوقيع ── */
.powered{display:flex;justify-content:center;align-items:center;gap:8px;padding:20px 12px 26px;color:var(--faint);font-size:12px}
.powered img{inline-size:16px;block-size:20px;opacity:.85}
.powered b{color:var(--muted);font-weight:600}

/* ── الطباعة ── */
@media print{
  body::before{display:none}
  body{background:#fff;color:#000}
  .no-print,.tabs,.topbar .actions,.powered,.skip-link{display:none !important}
  .card{box-shadow:none;border-color:#ccc;background:#fff}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

/* توقيع بذرة: العلامة البيضاء على الداكن والحبرية على الفاتح */
.mark-light{display:none}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .mark-dark{display:none}:root:not([data-theme="dark"]) .mark-light{display:block}}
:root[data-theme="light"] .mark-dark{display:none} :root[data-theme="light"] .mark-light{display:block}

/* منع التمرير الأفقي: الروابط الطويلة تُكسر، وأبناء الشبكات لا يفرضون عرضًا أدنى */
.two-col>*,.grid-cards>*,.list-item>*,.panel,.stack>*{min-inline-size:0}
.msg__body,.sub,.title,.empty,.access-text,.kpi__sub,.card p{overflow-wrap:anywhere}
.tabs{max-inline-size:100%}
/* عناصر الشبكة الرئيسية لا تفرض عرض محتواها الأدنى (شريط التبويبات القابل للتمرير) */
.ops>*,.staff>*,.screen{min-inline-size:0;max-inline-size:100%}
.tabs{inline-size:100%}

/* جولة أول زيارة */
.coach{display:grid;gap:10px}
.coach__item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}
.coach__n{inline-size:32px;block-size:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--teal),var(--blue));color:#06110F;flex:0 0 auto}
.coach__item b{display:block;margin-block-end:2px}
.coach__item span:last-child{color:var(--muted);font-size:14px;line-height:1.6}
