:root{
  --bg:#0b0f14;--panel:#121722;--line:rgba(255,255,255,.10);
  --txt:rgba(255,255,255,.92);--muted:rgba(255,255,255,.62);--muted2:rgba(255,255,255,.42);
  --danger:#ff6b6b;--r:18px;--r2:24px;
  --font:"IBM Plex Sans Arabic", ui-sans-serif, system-ui, -apple-system, "SF Pro Display","SF Pro Text","Segoe UI",Tahoma,Arial;
}
*{box-sizing:border-box;} html,body{height:100%;}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--txt);}
.app{display:grid;grid-template-columns:300px 1fr;min-height:100vh;}
@media (max-width:980px){.app{grid-template-columns:1fr;}}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:39;}
.sidebar{background:#0f141f;border-left:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:14px;}
@media (max-width:980px){
  .sidebar{position:fixed;top:0;bottom:0;right:0;width:min(320px,86vw);z-index:40;
    transform:translateX(110%);transition:transform .18s ease;border-left:0;border-right:1px solid var(--line);}
  .sidebar.is-open{transform:translateX(0);}
}
.sidebar__brand{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--r2);background:#101724;}
.logoBox{width:56px;height:56px;border-radius:16px;border:1px solid var(--line);background:#0b0f14;display:grid;place-items:center;overflow:hidden;}
.logoBox img{width:100%;height:100%;object-fit:cover;display:none;}
.logoFallback{font-size:12px;color:var(--muted);font-weight:900;}
.brandTxt{min-width:0;}
.brandTitle{font-weight:1100;font-size:14px;line-height:1.2;}
.brandDesc{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nav{display:flex;flex-direction:column;gap:10px;}
.nav__item{text-align:right;padding:12px;border-radius:16px;border:1px solid var(--line);background:#101724;color:rgba(255,255,255,.85);cursor:pointer;font-weight:1100;}
.nav__item.is-active{background:#161f30;color:rgba(255,255,255,.95);}
.sidebar__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px;border:1px solid var(--line);border-radius:var(--r2);background:#101724;}
.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:900;font-size:12px;}
.dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.25);}
.dot.ok{background:rgba(34,197,94,.95);} .dot.bad{background:rgba(239,68,68,.95);} .dot.busy{background:rgba(59,130,246,.95);}
.main{padding:18px;} @media (max-width:980px){.main{padding:14px;}}
.top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;}
.top__left{display:flex;align-items:center;gap:10px;}
.topTitle{font-size:18px;font-weight:1200;}
.topSub{color:var(--muted);font-weight:900;margin-top:4px;font-size:12px;}
.top__right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.search input{width:min(360px,70vw);padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#0f141f;color:var(--txt);outline:none;}
.search input::placeholder{color:rgba(255,255,255,.45);}
.page{display:none;} .page.is-active{display:block;}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;}
.panel__head{padding:12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.panel__title{font-weight:1200;}
.panel__body{padding:12px;}
.btn{border:1px solid var(--line);background:#101724;color:var(--txt);padding:10px 12px;border-radius:14px;cursor:pointer;font-weight:1100;
  transition:transform .12s ease, background .12s ease;display:inline-flex;align-items:center;gap:8px;}
.btn:hover{transform:translateY(-1px);background:#161f30;}
.btn:active{transform:translateY(0) scale(.99);}
.btn--ghost{background:#0f141f;} .btn--danger{background:rgba(255,107,107,.14);border-color:rgba(255,107,107,.35);}
.iconBtn{width:38px;height:38px;border-radius:14px;border:1px solid var(--line);background:#101724;color:rgba(255,255,255,.90);cursor:pointer;display:grid;place-items:center;}
.iconBtn--menu{display:none;} @media (max-width:980px){.iconBtn--menu{display:grid;}}
.seg{display:inline-flex;background:#0f141f;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.seg__btn{padding:10px 12px;border:0;background:transparent;color:rgba(255,255,255,.75);cursor:pointer;font-weight:1200;}
.seg__btn.is-active{background:#161f30;color:rgba(255,255,255,.95);}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));}} @media (max-width:620px){.grid{grid-template-columns:1fr;}}
.card{background:#0f141f;border:1px solid var(--line);border-radius:22px;overflow:hidden;}
.card__body{padding:12px;} .card__name{font-size:15px;font-weight:1300;margin:2px 0 10px;}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.meta__item{padding:10px;border-radius:16px;background:#101724;border:1px solid var(--line);}
.meta__k{font-size:11px;color:var(--muted2);font-weight:1200;margin-bottom:6px;}
.meta__v{font-size:13px;color:rgba(255,255,255,.92);font-weight:1200;word-break:break-word;}
.card__actions{padding:10px 12px 12px;display:flex;gap:8px;flex-wrap:wrap;}
.card__actions .btn{padding:9px 10px;border-radius:14px;font-size:13px;}
.tableWrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:#0f141f;}
.table{width:100%;border-collapse:collapse;min-width:980px;}
.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:right;font-size:13px;}
.table th{color:rgba(255,255,255,.75);font-weight:1200;background:#101724;}
.table td{color:rgba(255,255,255,.92);font-weight:900;}
.is-hidden{display:none!important;}
.empty{padding:40px 10px;text-align:center;}
.empty__title{font-size:16px;font-weight:1300;margin-top:10px;}
.empty__desc{color:var(--muted);max-width:520px;margin:10px auto 16px;line-height:1.6;}
.note{color:var(--muted);font-weight:900;font-size:12px;line-height:1.7;}
.modal{position:fixed;inset:0;display:none;z-index:60;} .modal.is-open{display:block;}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.modal__sheet{position:absolute;left:50%;transform:translateX(-50%);top:8vh;width:min(760px,calc(100vw - 22px));
  background:#0f141f;border:1px solid var(--line);border-radius:26px;overflow:hidden;}
.modal__head{padding:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);}
.modal__title{font-weight:1300;}
.form{padding:14px;}
.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media (max-width:640px){.form__grid{grid-template-columns:1fr;}}
.field label{display:block;font-size:12px;font-weight:1200;color:rgba(255,255,255,.75);margin-bottom:8px;}
.field input{width:100%;padding:12px;border-radius:16px;border:1px solid var(--line);background:#0b0f14;color:var(--txt);outline:none;}
.field input[disabled]{opacity:.75;}
.form__actions{display:flex;gap:10px;margin-top:14px;}
.template__hint{background:#0f141f;border:1px solid var(--line);padding:12px;border-radius:18px;margin-bottom:12px;color:rgba(255,255,255,.78);font-weight:1100;line-height:1.7;}
.template__row{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:start;}
@media (max-width:1020px){.template__row{grid-template-columns:1fr;}}
.stage{background:#0f141f;border:1px solid var(--line);border-radius:22px;padding:12px;}
.stage__toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.stage__canvasWrap{position:relative;width:100%;overflow:auto;border-radius:18px;border:1px solid var(--line);background:#0b0f14;}
#tplCanvas{display:block;width:100%;height:auto;max-width:1080px;margin:0 auto;background:#0b0f14;}
.markers{position:absolute;inset:0;pointer-events:none;}
.marker{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);
  border:1px solid var(--line);font-size:12px;font-weight:1300;cursor:grab;user-select:none;white-space:nowrap;}
.marker:active{cursor:grabbing;}
.posPanel{background:#0f141f;border:1px solid var(--line);border-radius:22px;padding:12px;}
.posPanel__title{font-weight:1300;margin-bottom:10px;}
.posList{display:flex;flex-direction:column;gap:10px;}
.posRow{border:1px solid var(--line);background:#101724;border-radius:18px;padding:10px;}
.posRow__k{font-size:12px;font-weight:1300;color:rgba(255,255,255,.85);margin-bottom:8px;}
.posRow__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.posRow__grid input{width:100%;padding:10px;border-radius:14px;border:1px solid var(--line);background:#0b0f14;color:rgba(255,255,255,.92);outline:none;}
.settings__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:860px){.settings__grid{grid-template-columns:1fr;}}
.settings__actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;}
