/* SZ — Designed by Salah Zakaria */
:root{
  --brand:#0e7c86;--brand-d:#0b3b4a;--brand-l:#d9f0f2;--gold:#e9a23b;
  --bg:#f3f5f8;--card:#fff;--ink:#17232b;--mut:#5d6b76;--line:#e2e7ec;--hov:#f0f6f7;
  --ok:#1a8f5a;--okbg:#dff5ea;--warn:#a96a00;--warnbg:#fdf0d5;--bad:#c23a3a;--badbg:#fbe3e3;--info:#2b62b8;--infobg:#e1ecfb;
  --b1:#0e7c86;--b2:#e9a23b;--shadow:0 1px 3px rgba(11,59,74,.08),0 6px 18px rgba(11,59,74,.06);--r:12px;
}
:root[data-theme=dark]{
  --brand:#2bb3bf;--brand-d:#0a2a35;--brand-l:#15414a;--gold:#f0b255;
  --bg:#0f171c;--card:#172229;--ink:#e8eef2;--mut:#93a4af;--line:#26343d;--hov:#1d2d36;
  --ok:#4cc58a;--okbg:#14382a;--warn:#f0b255;--warnbg:#3b2d12;--bad:#ef7b7b;--badbg:#3d1c1c;--info:#7fb0f2;--infobg:#17304f;
  --b1:#2bb3bf;--b2:#f0b255;--shadow:0 1px 3px rgba(0,0,0,.4);
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --brand:#2bb3bf;--brand-d:#0a2a35;--brand-l:#15414a;--gold:#f0b255;
  --bg:#0f171c;--card:#172229;--ink:#e8eef2;--mut:#93a4af;--line:#26343d;--hov:#1d2d36;
  --ok:#4cc58a;--okbg:#14382a;--warn:#f0b255;--warnbg:#3b2d12;--bad:#ef7b7b;--badbg:#3d1c1c;--info:#7fb0f2;--infobg:#17304f;
  --b1:#2bb3bf;--b2:#f0b255;--shadow:0 1px 3px rgba(0,0,0,.4);}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Tahoma,"Noto Naskh Arabic","Noto Sans Arabic",system-ui,sans-serif;font-size:.9375rem;line-height:1.55}
body.noscroll{overflow:hidden}
a{color:var(--link,var(--brand));text-decoration:none}
h1{font-size:1.45rem;margin:0}h2{font-size:1.1rem;margin:0 0 .6rem}h3{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}

/* topbar */
.top{position:sticky;top:0;z-index:30;background:var(--brand-d);color:#fff;display:flex;align-items:center;gap:.5rem;padding:0 .75rem;height:54px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.top .logo{display:flex;align-items:center;gap:.5rem;background:none;border:0;color:#fff;cursor:pointer;padding:.3rem .5rem;border-radius:8px;font-weight:700;font-size:1.05rem}
.top .logo:hover,.top .logo:focus-visible{background:rgba(255,255,255,.12)}
.mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--gold));color:#fff;font-weight:800;font-size:.95rem;letter-spacing:-.5px}
.top .app{font-weight:700;opacity:.95;white-space:nowrap}
.menus{display:flex;gap:.1rem;overflow-x:auto;flex:1;scrollbar-width:none}
.menus::-webkit-scrollbar{display:none}
.menus a{color:#dbe9ee;padding:.45rem .8rem;border-radius:8px;white-space:nowrap;font-size:.93rem}
.menus a:hover{background:rgba(255,255,255,.1)}
.menus a.on{background:rgba(255,255,255,.18);color:#fff;font-weight:700}
.top .side{display:flex;align-items:center;gap:.4rem;margin-inline-start:auto}
.top select{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:.3rem .5rem;max-width:150px}
.top select option{color:#17232b}
.ibtn{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:8px;padding:.4rem .65rem;cursor:pointer}
.ibtn:hover{background:rgba(255,255,255,.22)}

/* launcher */
.launch{position:fixed;inset:54px 0 0 0;z-index:25;background:rgba(11,59,74,.97);display:grid;place-content:center;padding:1rem;overflow:auto}
.launch .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;width:min(720px,92vw)}
.tile{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;padding:.9rem .4rem;border-radius:14px;font-weight:600;text-align:center}
.tile:hover,.tile:focus-visible{background:rgba(255,255,255,.1)}
.tile i{font-style:normal;font-size:2rem;width:68px;height:68px;border-radius:18px;display:grid;place-items:center;box-shadow:0 6px 14px rgba(0,0,0,.25)}

main{max-width:1280px;margin:0 auto;padding:1rem 1rem 3rem;min-height:calc(100vh - 54px - 52px)}
.foot{text-align:center;color:var(--mut);font-size:.82rem;padding:.9rem 1rem 1.2rem;border-top:1px solid var(--line)}
.foot b{color:var(--brand)}

/* page */
.page-h{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.sub{margin:.15rem 0 0;color:var(--mut);font-size:.9rem}
.acts{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}
.card.flush{padding:0;overflow:hidden}
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}
.search{flex:1;min-width:180px;max-width:360px;padding:.5rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}
.seg button{border:0;background:none;padding:.4rem .9rem;cursor:pointer;color:var(--mut)}
.seg button.on{background:var(--brand);color:#fff}

/* buttons */
.btn{border:1px solid var(--line);background:var(--card);padding:.5rem 1rem;border-radius:9px;cursor:pointer;font-weight:600;transition:.15s}
.btn:hover{background:var(--hov)}
.btn:disabled{opacity:.55;cursor:wait}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{filter:brightness(1.08)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.ghost{background:none}
.btn.sm{padding:.25rem .65rem;font-size:.85rem}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* kpi */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem;color:var(--ink);box-shadow:var(--shadow);border-inline-start:4px solid var(--brand)}
a.kpi:hover{background:var(--hov)}
.kpi.gold{border-inline-start-color:var(--gold)}.kpi.bad{border-inline-start-color:var(--bad)}.kpi.ok{border-inline-start-color:var(--ok)}
.k-l{color:var(--mut);font-size:.85rem}.k-v{font-size:1.45rem;font-weight:800;direction:ltr;text-align:right}.k-s{color:var(--mut);font-size:.8rem}
.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:1rem}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}

/* tables */
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse}
.tbl th{background:var(--hov);color:var(--mut);font-size:.82rem;text-align:right;padding:.6rem .75rem;white-space:nowrap;position:sticky;top:0}
.tbl td{padding:.6rem .75rem;border-top:1px solid var(--line);vertical-align:middle}
.tbl tr.clk{cursor:pointer}.tbl tr.clk:hover td{background:var(--hov)}
.tbl .n{direction:ltr;text-align:left;white-space:nowrap}
.tbl .c{text-align:center}.tbl .act{white-space:nowrap;text-align:left}
.tbl tfoot td{font-weight:700;background:var(--hov)}
.tbl .low td:first-child{box-shadow:inset -3px 0 0 var(--bad)}
.empty{padding:2.2rem 1rem;text-align:center;color:var(--mut)}
@media(max-width:700px){
  .tbl.cards thead{display:none}
  .tbl.cards,.tbl.cards tbody,.tbl.cards tr,.tbl.cards td{display:block;width:100%}
  .tbl.cards tr{border-top:1px solid var(--line);padding:.5rem .3rem}
  .tbl.cards td{border:0;display:flex;justify-content:space-between;gap:.8rem;padding:.2rem .6rem;text-align:right}
  .tbl.cards td::before{content:attr(data-l);color:var(--mut);font-size:.8rem;flex:none}
  .tbl.cards .n{direction:rtl}
}
.badge{display:inline-block;padding:.12rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--hov);color:var(--mut)}
.badge.ok{background:var(--okbg);color:var(--ok)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.info{background:var(--infobg);color:var(--info)}
.pos{color:var(--ok)}.neg{color:var(--bad)}

/* forms */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:.25rem}.fld.full{grid-column:1/-1}
.fld label{font-size:.85rem;color:var(--mut);font-weight:600}
.fld input,.fld select,.fld textarea,.cell{padding:.5rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--card);width:100%}
.fld small{color:var(--mut);font-size:.78rem}
.req{color:var(--bad)}
.chk{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--ink)!important;font-weight:500!important}
.chk input{width:auto}
.checks{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}

/* modal */
.modal-back{position:fixed;inset:0;z-index:50;background:rgba(8,20,26,.55);display:grid;place-items:center;padding:1rem;overflow:auto}
.modal{background:var(--card);border-radius:14px;width:min(520px,100%);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.modal.wide{width:min(820px,100%)}
.modal-h{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.modal-h .x{border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--mut)}
.modal-b{padding:1rem 1.1rem;overflow:auto}
.modal-f{padding:.8rem 1.1rem;border-top:1px solid var(--line);display:flex;gap:.5rem;flex-wrap:wrap}
.confirm-msg{margin:.3rem 0;font-size:1.02rem}

/* toast */
#toasts{position:fixed;bottom:16px;inset-inline-start:16px;z-index:90;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 32px))}
.toast{background:#17232b;color:#fff;padding:.7rem 1rem;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.3);border-inline-start:5px solid var(--ok);animation:in .2s}
.toast.err{border-inline-start-color:#ef5b5b}.toast.out{opacity:0;transition:.3s}
@keyframes in{from{transform:translateY(8px);opacity:0}}

/* chart */
.chart{width:100%;height:auto}.chart .grid{stroke:var(--line);stroke-width:1}.chart .b1{fill:var(--b1)}.chart .b2{fill:var(--b2)}.chart .ax{fill:var(--mut);font-size:12px}
.legend{display:flex;gap:1.2rem;color:var(--mut);font-size:.85rem;margin-top:.3rem}.lg{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:.35rem}.lg.b1{background:var(--b1)}.lg.b2{background:var(--b2)}
.bar-list .row{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-top:1px solid var(--line)}
.bar-list .row:first-child{border-top:0}

/* order */
.doc-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin-bottom:.8rem}
.doc-top div span{display:block;color:var(--mut);font-size:.8rem}
.totals{margin-inline-start:auto;width:min(340px,100%);margin-top:.8rem}
.totals .r{display:flex;justify-content:space-between;padding:.3rem 0;border-bottom:1px dashed var(--line)}
.totals .r.t{font-weight:800;font-size:1.15rem;border-bottom:2px solid var(--brand)}
.ed-lines .cell{min-width:90px}.ed-lines td{padding:.3rem .4rem}
.stepper{display:flex;gap:.4rem;margin:.2rem 0 .8rem;flex-wrap:wrap}

/* loading */
.spin{display:grid;place-items:center;padding:4rem 0}
.spin i{width:34px;height:34px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--brand);animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.errbox{padding:1.4rem;text-align:center;color:var(--bad)}

/* auth */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.auth .hero{background:radial-gradient(circle at 20% 15%,#14a0ad 0,transparent 45%),radial-gradient(circle at 85% 85%,#e9a23b55 0,transparent 40%),linear-gradient(145deg,#0b3b4a,#0a2a35);color:#fff;padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center;gap:1.4rem}
.hero .big{width:84px;height:84px;font-size:2.3rem;border-radius:22px;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.hero h1{font-size:2.1rem}.hero p{margin:0;opacity:.88;max-width:34ch}
.hero ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;max-width:420px}
.hero li{background:rgba(255,255,255,.1);padding:.5rem .8rem;border-radius:10px}
.auth .box{display:flex;flex-direction:column;justify-content:center;padding:2rem;max-width:460px;width:100%;margin:0 auto;gap:1rem}
.auth .box form{display:flex;flex-direction:column;gap:.8rem}
.auth .tabs{display:flex;gap:.4rem}
.auth .tabs button{flex:1}
.auth .credit{color:var(--mut);font-size:.82rem;text-align:center;margin-top:1rem}
.note{background:var(--infobg);color:var(--info);padding:.6rem .8rem;border-radius:9px;font-size:.88rem}
@media(max-width:820px){.auth{grid-template-columns:1fr}.auth .hero{padding:1.6rem 1.2rem;gap:.8rem}.hero ul,.hero p{display:none}.hero .big{width:56px;height:56px;font-size:1.5rem}.hero h1{font-size:1.4rem}}
@media print{.top,.foot,.acts,.toolbar,#toasts{display:none!important}main{padding:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =====================================================================
   SZ v1.1 — تصميم ثلاثي الأبعاد + ثيمات الألوان + إضافات (Designed by Salah Zakaria)
   ===================================================================== */
:root{--brand-hi:#17a0ac;--brand-dd:#09565d;--link:var(--brand);--border:var(--line);--edge:rgba(0,0,0,.14)}
:root[data-theme=dark]{--link:var(--brand-hi)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--link:var(--brand-hi)}}
:root[data-accent=teal]{--brand:#0e7c86;--brand-hi:#17a0ac;--brand-dd:#09565d;--brand-d:#0b3b4a;--brand-l:#d9f0f2}
:root[data-accent=indigo]{--brand:#4f46e5;--brand-hi:#6d65f2;--brand-dd:#3730a3;--brand-d:#1e1b4b;--brand-l:#e0e7ff}
:root[data-accent=emerald]{--brand:#059669;--brand-hi:#10b981;--brand-dd:#047857;--brand-d:#064e3b;--brand-l:#d1fae5}
:root[data-accent=rose]{--brand:#e11d48;--brand-hi:#f43f5e;--brand-dd:#9f1239;--brand-d:#4c0519;--brand-l:#ffe4e6}
:root[data-accent=amber]{--brand:#d97706;--brand-hi:#f59e0b;--brand-dd:#92400e;--brand-d:#451a03;--brand-l:#fef3c7}
:root[data-accent=slate]{--brand:#475569;--brand-hi:#64748b;--brand-dd:#1e293b;--brand-d:#0f172a;--brand-l:#e2e8f0}
:root[data-theme=dark]:not([data-accent]){--brand-hi:#4fd0dc}

/* ---- أزرار 3D ---- */
.btn{position:relative;background:linear-gradient(180deg,var(--card),var(--hov));border:1px solid var(--line);border-radius:11px;font-weight:700;
  box-shadow:0 3px 0 var(--edge),0 8px 14px rgba(11,59,74,.10);transition:transform .08s ease,box-shadow .12s ease,filter .15s ease;--edge:rgba(0,0,0,.16);user-select:none}
.btn:hover{background:linear-gradient(180deg,var(--card),var(--hov));transform:translateY(-2px);box-shadow:0 5px 0 var(--edge),0 14px 22px rgba(11,59,74,.16)}
.btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--edge),0 2px 4px rgba(11,59,74,.18);transition-duration:.03s}
.btn:disabled{transform:none;box-shadow:0 2px 0 var(--edge)}
.btn.primary,.btn-primary{background:linear-gradient(180deg,var(--brand-hi),var(--brand));border-color:var(--brand-dd);color:#fff;--edge:var(--brand-dd);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn.primary:hover,.btn-primary:hover{background:linear-gradient(180deg,var(--brand-hi),var(--brand));filter:brightness(1.07)}
.btn.danger,.btn-danger{background:linear-gradient(180deg,#e55b5b,#c23a3a);border-color:#8e2323;color:#fff;--edge:#8e2323;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn.danger:hover,.btn-danger:hover{background:linear-gradient(180deg,#e55b5b,#c23a3a);filter:brightness(1.07)}
.btn-outline{background:linear-gradient(180deg,var(--card),var(--hov));color:var(--ink)}
.btn.ghost{background:none;box-shadow:none;border-color:transparent}.btn.ghost:hover{background:var(--hov);transform:none;box-shadow:none}
.btn.sm{box-shadow:0 2px 0 var(--edge),0 4px 8px rgba(11,59,74,.08)}.btn.sm:hover{box-shadow:0 3px 0 var(--edge),0 8px 12px rgba(11,59,74,.12)}.btn.sm:active{transform:translateY(2px);box-shadow:0 0 0 var(--edge)}
.btn.sm.primary,.btn.sm.danger{box-shadow:0 2px 0 var(--edge)}
.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 55%);pointer-events:none;opacity:.55}
.btn.ghost::after{display:none}
.seg button{transition:.15s}.seg button.on{background:linear-gradient(180deg,var(--brand-hi),var(--brand));text-shadow:0 1px 0 rgba(0,0,0,.2)}
.ibtn{box-shadow:0 2px 0 rgba(0,0,0,.25);transition:transform .08s,background .15s;position:relative}.ibtn:active{transform:translateY(2px);box-shadow:none}
.ibtn.bell b{position:absolute;top:-6px;inset-inline-start:-6px;background:#e11d48;color:#fff;border-radius:999px;font-size:.68rem;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 4px;box-shadow:0 2px 0 #7f1028;animation:pulse 2s infinite}
.ibtn.bell b[hidden]{display:none}

/* ---- بطاقات وتأثيرات ---- */
.top{background:linear-gradient(180deg,var(--brand-d),color-mix(in srgb,var(--brand-d) 82%,#000));box-shadow:0 3px 0 rgba(0,0,0,.18),0 10px 24px rgba(0,0,0,.18)}
.mark{background:linear-gradient(135deg,var(--brand-hi),var(--gold));box-shadow:0 3px 0 rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.4)}
.card{box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 2px 0 rgba(11,59,74,.05),0 12px 28px rgba(11,59,74,.07);transition:box-shadow .2s,transform .2s}
.kpi{background:linear-gradient(180deg,var(--card),var(--hov));box-shadow:0 4px 0 rgba(11,59,74,.06),0 12px 24px rgba(11,59,74,.08);transition:transform .18s,box-shadow .18s}
.kpi:hover{transform:translateY(-4px) perspective(600px) rotateX(2deg);box-shadow:0 8px 0 rgba(11,59,74,.06),0 22px 34px rgba(11,59,74,.14)}
.k-v{background:linear-gradient(90deg,var(--ink),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}
.tile i{background-image:linear-gradient(180deg,rgba(255,255,255,.35),transparent 60%);box-shadow:0 6px 0 rgba(0,0,0,.30),0 16px 22px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .15s,box-shadow .15s}
.tile:hover i{transform:translateY(-5px) rotate(-3deg)}.tile:active i{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.3)}
.launch .tiles .tile{animation:pop .35s both}.launch .tiles .tile:nth-child(2){animation-delay:.04s}.launch .tiles .tile:nth-child(3){animation-delay:.08s}.launch .tiles .tile:nth-child(4){animation-delay:.12s}.launch .tiles .tile:nth-child(5){animation-delay:.16s}.launch .tiles .tile:nth-child(6){animation-delay:.2s}.launch .tiles .tile:nth-child(7){animation-delay:.24s}.launch .tiles .tile:nth-child(8){animation-delay:.28s}
.menus a{transition:background .15s,transform .1s}.menus a.on{box-shadow:0 3px 0 rgba(0,0,0,.25);background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.12))}
.tbl tr.clk{transition:background .12s}
.modal{animation:pop .22s both}.modal-back{animation:fadeIn .18s both}
.badge{box-shadow:0 1px 0 rgba(0,0,0,.08)}
.fld input:focus,.fld select:focus,.fld textarea:focus,.cell:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent);outline:none}
#view.enter>*{animation:rise .42s cubic-bezier(.2,.8,.2,1) both}
#view.enter>*:nth-child(2){animation-delay:.05s}#view.enter>*:nth-child(3){animation-delay:.1s}#view.enter>*:nth-child(4){animation-delay:.15s}#view.enter>*:nth-child(n+5){animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@keyframes pop{from{opacity:0;transform:scale(.92) translateY(8px)}}
@keyframes fadeIn{from{opacity:0}}
@keyframes pulse{0%,100%{box-shadow:0 2px 0 #7f1028,0 0 0 0 rgba(225,29,72,.5)}50%{box-shadow:0 2px 0 #7f1028,0 0 0 7px rgba(225,29,72,0)}}
@keyframes alertPulse{0%,100%{box-shadow:0 5px 0 #a97800,0 12px 22px rgba(0,0,0,.35),0 0 0 0 rgba(224,163,26,.6)}50%{box-shadow:0 5px 0 #a97800,0 12px 22px rgba(0,0,0,.35),0 0 0 14px rgba(224,163,26,0)}}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.12)}100%{transform:translate(0,0) scale(1)}}
@keyframes float3d{0%,100%{transform:perspective(500px) rotateY(-14deg) rotateX(8deg) translateY(0)}50%{transform:perspective(500px) rotateY(14deg) rotateX(-4deg) translateY(-10px)}}

/* ---- شاشة الدخول ---- */
.auth .hero{background:radial-gradient(circle at 18% 12%,var(--brand-hi) 0,transparent 46%),radial-gradient(circle at 88% 88%,#e9a23b66 0,transparent 42%),linear-gradient(145deg,var(--brand-d),#050d12);position:relative;overflow:hidden}
.auth .hero::before,.auth .hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.35;animation:drift 12s ease-in-out infinite}
.auth .hero::before{width:260px;height:260px;background:var(--brand-hi);inset-block-start:-70px;inset-inline-end:-60px}
.auth .hero::after{width:180px;height:180px;background:var(--gold);inset-block-end:-50px;inset-inline-start:-40px;animation-delay:-5s}
.hero>*{position:relative;z-index:1}
.hero .big{animation:float3d 7s ease-in-out infinite;box-shadow:0 10px 0 rgba(0,0,0,.28),0 26px 40px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.4)}
.hero li{backdrop-filter:blur(6px);box-shadow:0 3px 0 rgba(0,0,0,.2);transition:transform .15s}.hero li:hover{transform:translateY(-3px)}
.auth .box{animation:rise .5s both}

/* ---- أسماء/أصناف مركز المراقبة (من live.js) ---- */
.muted{color:var(--mut)}.small{font-size:.85rem}.full{width:100%}.no-print{}
.row-gap{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin:.2rem 0 1rem}.page-header h2{font-size:1.45rem;margin:0}
.section-title{font-size:1.1rem}
.alert-box{background:var(--warnbg);color:var(--warn);border-radius:var(--r);padding:1rem;text-align:center}
.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.7rem}.form-group label{font-size:.85rem;color:var(--mut);font-weight:600}
.form-input{padding:.5rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--card);width:100%}
.modal-actions{margin-top:.6rem}
.badge-blue{background:var(--infobg);color:var(--info)}.badge-green{background:var(--okbg);color:var(--ok)}.badge-amber{background:var(--warnbg);color:var(--warn)}.badge-red{background:var(--badbg);color:var(--bad)}
.lv-tile{box-shadow:0 5px 0 rgba(11,59,74,.08),0 14px 24px rgba(11,59,74,.12)!important}
.lv-ctl .btn{margin:.15rem}
.empty.sm{padding:1rem}

/* ---- CRM كانبان ---- */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:.8rem;overflow-x:auto;padding-bottom:1rem;align-items:start}
.kcol{background:var(--hov);border:1px solid var(--line);border-radius:var(--r);padding:.5rem;transition:background .15s,box-shadow .15s;min-height:160px}
.kcol.over{background:var(--brand-l);box-shadow:0 0 0 3px var(--brand) inset}
.kcol header{display:flex;justify-content:space-between;align-items:center;padding:.3rem .4rem .6rem;border-bottom:3px solid var(--c);margin-bottom:.5rem}
.kcol footer{text-align:center;color:var(--mut);font-size:.85rem;padding-top:.4rem;font-weight:700}
.lead{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:.6rem .7rem;margin-bottom:.5rem;cursor:grab;box-shadow:0 3px 0 rgba(11,59,74,.07),0 8px 14px rgba(11,59,74,.07);transition:transform .12s,box-shadow .12s}
.lead:hover{transform:translateY(-2px);box-shadow:0 5px 0 rgba(11,59,74,.07),0 14px 20px rgba(11,59,74,.12)}
.lead.dragging{opacity:.45;transform:rotate(2deg)}
.lead-f{display:flex;justify-content:space-between;margin-top:.35rem}.lead-a{display:flex;gap:.35rem;margin-top:.5rem;flex-wrap:wrap}

/* ---- الساعة / التنبيهات / التفضيلات / الشعار ---- */
.clock-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--brand-d),color-mix(in srgb,var(--brand-d) 60%,var(--brand)));color:#fff;border-radius:var(--r);padding:.8rem 1.2rem;margin-bottom:1rem;box-shadow:0 5px 0 rgba(0,0,0,.2),0 16px 30px rgba(0,0,0,.18);width:fit-content;max-width:100%}
.clock-card .sub{color:#cfe3e8;margin:0}.digital{font-size:1.9rem;font-weight:800;letter-spacing:2px;font-variant-numeric:tabular-nums;text-align:right}
.analog{width:86px;height:86px;flex:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.analog .face{fill:#f8fbfc;stroke:var(--brand-hi);stroke-width:3}.analog .tk{stroke:#5d6b76;stroke-width:1.6}
.analog .hh{stroke:#17232b;stroke-width:3.4;stroke-linecap:round}.analog .mh{stroke:#17232b;stroke-width:2.4;stroke-linecap:round}.analog .sh{stroke:#e11d48;stroke-width:1.2;stroke-linecap:round}.analog .hub{fill:#e11d48}
.notes{display:flex;flex-direction:column;gap:.4rem}.note-i{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem;border-radius:10px;background:var(--hov);color:var(--ink)}.note-i:hover{background:var(--brand-l)}.note-i>span{font-size:1.4rem}
.swatches{display:flex;gap:.7rem;flex-wrap:wrap}
.sw{width:44px;height:44px;border-radius:14px;border:0;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c));box-shadow:0 4px 0 rgba(0,0,0,.25),0 8px 12px rgba(0,0,0,.18);transition:transform .08s}
.sw:hover{transform:translateY(-2px)}.sw:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.25)}.sw.on{outline:3px solid var(--ink);outline-offset:3px}
.logo-card{display:flex;gap:1rem;align-items:center}.logo-img{width:84px;height:84px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#fff;padding:4px}.logo-img.ph{display:grid;place-items:center;font-size:2.2rem;background:var(--hov)}

@media (prefers-reduced-motion:reduce){.hero .big,.auth .hero::before,.auth .hero::after,.ibtn.bell b{animation:none!important}}
@media print{.clock-card,.kanban .lead-a{display:none}}
