:root{
  --bg:#eceff3; --surface:#ffffff; --surface-2:#f5f7fa; --line:#d9dee6;
  --fg:#1b2330; --muted:#5f6b7c; --accent:#3651d4; --accent-soft:#e3e8fb;
  --floor-a:#e4e8ee; --floor-b:#dde2e9;
  --desk:#c99a6b; --desk-dark:#a87b4f; --chair:#46536a; --laptop:#9aa4b4; --shadow:rgba(27,35,48,.12);
  --ok:#1f8a5b; --ok-soft:#dcf2e7; --warn:#b7791f; --warn-soft:#fbefd9; --work:#3651d4; --work-soft:#e3e8fb; --idle:#7a8596; --idle-soft:#eceff3; --bad:#c2410c; --bad-soft:#fde7dc;
  --display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif; --body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --scene:#dfe5ec; --floor3d:#d9c2a2; --wall3d:#f2f4f7; --rug3d:#c9d3e6; --glass3d:#bcd9f0;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--scene:#0e1218; --floor3d:#4a3b2c; --wall3d:#222a36; --rug3d:#2b3550; --glass3d:#2e4a66}}
:root[data-theme="dark"]{--scene:#0e1218; --floor3d:#4a3b2c; --wall3d:#222a36; --rug3d:#2b3550; --glass3d:#2e4a66}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#12161d; --surface:#1a2029; --surface-2:#202733; --line:#2d3644;
  --fg:#e7ebf1; --muted:#9aa5b5; --accent:#8399ff; --accent-soft:#252e52;
  --floor-a:#161b23; --floor-b:#1a2029;
  --desk:#8a6644; --desk-dark:#6c4f33; --chair:#56647d; --laptop:#5b6577; --shadow:rgba(0,0,0,.35);
  --ok:#4cc38a; --ok-soft:#173528; --warn:#e0a84a; --warn-soft:#3a2d16; --work:#8399ff; --work-soft:#252e52; --idle:#8d97a7; --idle-soft:#232a35; --bad:#f08a5d; --bad-soft:#3b2318;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#12161d; --surface:#1a2029; --surface-2:#202733; --line:#2d3644;
  --fg:#e7ebf1; --muted:#9aa5b5; --accent:#8399ff; --accent-soft:#252e52;
  --floor-a:#161b23; --floor-b:#1a2029;
  --desk:#8a6644; --desk-dark:#6c4f33; --chair:#56647d; --laptop:#5b6577; --shadow:rgba(0,0,0,.35);
  --ok:#4cc38a; --ok-soft:#173528; --warn:#e0a84a; --warn-soft:#3a2d16; --work:#8399ff; --work-soft:#252e52; --idle:#8d97a7; --idle-soft:#232a35; --bad:#f08a5d; --bad-soft:#3b2318;
  color-scheme:dark}
:root{--gold:#a8761c;--gold-soft:#f7ecd4;--ceo-floor:#3a4660}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gold:#e3b252;--gold-soft:#3a2e15;--ceo-floor:#1c2333}}
:root[data-theme="dark"]{--gold:#e3b252;--gold-soft:#3a2e15;--ceo-floor:#1c2333}
:root[lang="ar"]{--display:"Cairo","IBM Plex Sans Arabic",Tahoma,sans-serif; --body:"IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif}
.topr{display:flex;flex-wrap:wrap;gap:8px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:14px;line-height:1.5}
.wrap{max-width:1180px;margin:0 auto;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:18px}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,.desk:focus-visible,.row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tag{font-size:12px;color:var(--muted);font-weight:600}

/* top bar */
.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px}
.logo{width:34px;height:34px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:var(--surface);font-family:var(--display);font-weight:700}
.brand h1{font-size:20px}
.seg{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;flex-wrap:wrap}
.seg button{border:0;background:transparent;border-radius:999px;padding:6px 12px;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--accent-soft);color:var(--fg)}
.ini{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}

.bar{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px}
@media (max-width:820px){.bar{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.product{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.product h2{font-size:18px}
.sample{font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:2px 7px;margin-inline-start:6px;vertical-align:middle;font-family:var(--body)}
.meta{color:var(--muted);font-size:13px}
.addlink{display:flex;gap:6px;flex:1 1 260px;max-width:420px}
.addlink input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:9px;padding:8px 10px;font:inherit}
.btn{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:8px 12px;font-weight:500;white-space:nowrap}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.integ{display:flex;flex-direction:column;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:13px;background:var(--surface-2)}
.dot{width:8px;height:8px;border-radius:50%}
.credits{display:flex;flex-direction:column;gap:6px}
.meter{height:8px;border-radius:99px;background:var(--idle-soft);overflow:hidden}
.meter i{display:block;height:100%;background:var(--accent);border-radius:99px}
.credits .row-b{display:flex;justify-content:space-between;font-size:13px;font-variant-numeric:tabular-nums}

/* pipeline */
.pipe{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.step{flex:1 0 108px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.step b{display:block;height:6px;border-radius:99px;background:var(--idle-soft)}
.step.done b{background:var(--ok)} .step.working b{background:var(--work)} .step.waiting b{background:var(--warn)}
.step.done,.step.working,.step.waiting{color:var(--fg)}

/* view switch */
.viewbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}

/* office */
.floor{border-radius:16px;border:1px solid var(--line);padding:22px;background:
  repeating-conic-gradient(var(--floor-a) 0 25%, var(--floor-b) 0 50%) 0 0/56px 56px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
@media (max-width:520px){.floor{padding:12px;gap:14px;grid-template-columns:1fr 1fr}}
.desk{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .15s, box-shadow .15s;text-align:start}
.desk:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow)}
.bubble{min-height:38px;font-size:12px;line-height:1.35;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 8px;color:var(--fg);position:relative}
.bubble::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:var(--surface-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.typing{display:inline-flex;gap:3px;margin-inline-start:4px;vertical-align:middle}
.typing i{width:4px;height:4px;border-radius:50%;background:var(--work);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.2}40%{opacity:1}}
.desk svg{width:100%;height:auto;display:block}
.plate{display:flex;align-items:center;justify-content:space-between;gap:6px}
.plate h3{font-size:15px}
.plate .role{font-size:12px;color:var(--muted)}
.pill{font-size:11px;font-weight:600;border-radius:99px;padding:3px 8px;white-space:nowrap}
.s-working{background:var(--work-soft);color:var(--work)}
.s-waiting{background:var(--warn-soft);color:var(--warn)}
.s-done{background:var(--ok-soft);color:var(--ok)}
.s-idle{background:var(--idle-soft);color:var(--idle)}
@media (max-width:520px){.bubble{font-size:11px}.plate{flex-direction:column;align-items:flex-start}}

/* svg animation */
.working .hand-l{animation:tap .35s infinite alternate}
.working .hand-r{animation:tap .35s .17s infinite alternate}
.working .head{animation:nod 2.4s infinite ease-in-out}
@keyframes tap{to{transform:translateY(-3px)}}
@keyframes nod{50%{transform:translateY(1.5px)}}
.waiting .raise{animation:wave 1s infinite ease-in-out;transform-origin:126px 92px}
@keyframes wave{50%{transform:rotate(8deg)}}
.idle .zz{animation:float 2.5s infinite ease-in-out}
@keyframes float{50%{transform:translateY(-4px);opacity:.5}}

/* 3d */
.stage3d{position:relative;border-radius:16px;border:1px solid var(--line);overflow:hidden;height:min(660px,74vh);min-height:440px;background:var(--scene)}
.stage3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.stage3d canvas:active{cursor:grabbing}
.lbls{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.lbl{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:auto;cursor:pointer;white-space:nowrap;will-change:transform}
.lbl .bb{max-width:170px;white-space:normal;text-align:center;font-size:11px;line-height:1.3;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 7px;box-shadow:0 4px 12px var(--shadow)}
.lbl .nm{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:2px 9px 2px 6px;box-shadow:0 2px 8px var(--shadow)}
.hint{position:absolute;inset-inline-start:12px;bottom:12px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 9px;pointer-events:none}
.recenter{position:absolute;inset-inline-end:12px;bottom:12px}
.fsbtn{position:absolute;inset-inline-end:12px;top:12px;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px var(--shadow)}
.stage3d.max{position:fixed;inset:0;z-index:15;height:auto;min-height:0;border:0;border-radius:0}
.stage3d.max .fsbtn{top:calc(12px + env(safe-area-inset-top,0px));inset-inline-end:calc(12px + max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)))}
.stage3d.max .recenter{bottom:calc(12px + env(safe-area-inset-bottom,0px));inset-inline-end:calc(12px + max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)))}
.stage3d.max .hint{bottom:calc(12px + env(safe-area-inset-bottom,0px));inset-inline-start:calc(12px + max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)))}
@media (max-width:640px){.lbl .bb{display:none}.hint{display:none}}

/* ceo */
.lbl.ceo .nm{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft),0 2px 8px var(--shadow);font-size:13px}
.lbl.ceo .bb{border-color:var(--gold)}
.crown{color:var(--gold)}
.pill.s-ceo{background:var(--gold-soft);color:var(--gold)}
.desk.ceo-card{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.ceo-card svg{width:210px;flex:none}
.ceo-card .info{display:flex;flex-direction:column;gap:6px;min-width:0}
.ceo-card .bubble::after{display:none}
@media (max-width:520px){.desk.ceo-card{flex-direction:column;align-items:stretch}.ceo-card svg{width:100%}}
.row.ceo-row{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}
.approvals{list-style:none;padding:0!important}
.approvals li{display:flex;justify-content:space-between;align-items:center;gap:10px}
.modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(10,14,20,.45);padding:16px}
.modal .card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(420px,100%);display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 50px var(--shadow)}
.modal h2{font-size:20px}
.modal input,#ceoName{border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:9px;padding:10px 12px;font:inherit}

/* list */
.list{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:48px minmax(0,1.1fr) minmax(0,2fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;text-align:start;width:100%}
.row:hover{border-color:var(--accent)}
.row .face{width:44px;height:44px;border-radius:50%;background:var(--surface-2);overflow:hidden}
.row .face svg{width:100%;height:100%}
.row .who h3{font-size:15px}.row .who div{font-size:12px;color:var(--muted)}
.row .task{font-size:13px;min-width:0}
@media (max-width:640px){.row{grid-template-columns:44px minmax(0,1fr) auto}.row .task{grid-column:2/4}}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(10,14,20,.35);z-index:20}
.drawer{position:fixed;top:0;inset-inline-end:0;bottom:0;width:min(420px,100%);background:var(--surface);border-inline-start:1px solid var(--line);z-index:21;display:flex;flex-direction:column;
  padding-top:max(18px,env(safe-area-inset-top,0px));padding-bottom:max(18px,env(safe-area-inset-bottom,0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));gap:14px;overflow-y:auto}
.drawer .hd{display:flex;gap:12px;align-items:center}
.drawer .big{width:72px;height:72px;border-radius:50%;background:var(--surface-2);overflow:hidden;flex:none}
.drawer .big svg{width:100%;height:100%}
.drawer h2{font-size:20px}
.x{margin-inline-start:auto;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:34px;height:34px}
.box{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.box ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.tools{display:flex;flex-wrap:wrap;gap:6px}
.tools span{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--surface)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:10px;font-size:13px;z-index:30;max-width:calc(100% - 32px)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- added for the real app ---------- */
html,body{margin:0}
.brand .logo{background:none;overflow:hidden;padding:0}
.brand .logo img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.menu{display:flex;gap:6px;flex-wrap:wrap}
.menu .btn{padding:6px 11px}
.menu .btn[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.err{color:var(--bad);font-size:13px;min-height:18px}
.ok-t{color:var(--ok)}
.auth{min-height:100vh;display:grid;place-items:center;padding:16px}
.auth .card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;width:min(400px,100%);display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px var(--shadow)}
.auth .card .logo{width:52px;height:52px;border-radius:12px}
.auth .card .logo img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.auth h2{font-size:22px}
.field{display:flex;flex-direction:column;gap:5px}
.inp,select.inp,textarea.inp{border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:9px;padding:10px 12px;font:inherit;width:100%}
.langs{display:flex;justify-content:center}
.choice{display:flex;flex-direction:column;gap:4px;text-align:start;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px}
.choice[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.choice b{font-family:var(--display);font-size:15px}
.page{display:flex;flex-direction:column;gap:14px}
.page h2{font-size:18px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.int-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.int-h h3{font-size:16px}
.int-form{display:flex;flex-direction:column;gap:8px}
.int-form .actions{margin-top:2px}
.st-ok{color:var(--ok)}.st-error{color:var(--bad)}.st-untested{color:var(--warn)}.st-off{color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{text-align:start;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl th{color:var(--muted);font-weight:600;font-size:12px}
.tbl select{border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:7px;padding:4px 6px;font:inherit;font-size:12px}
.tbl-wrap{overflow-x:auto}
.addrow{display:flex;gap:8px;flex-wrap:wrap}
.team-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.row .edit-a{font-size:12px;color:var(--accent);font-weight:600;background:none;border:0;padding:4px}
.swatches{display:flex;flex-wrap:wrap;gap:6px}
.sw{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0}
.sw[aria-pressed="true"]{border-color:var(--fg);box-shadow:0 0 0 2px var(--surface) inset}
.look{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.look .prev{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--surface-2)}
.look .prev svg{width:100%;height:100%}
.missing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:8px 12px;font-size:13px}
.step.missing{background:none;color:var(--muted);padding:0;border-radius:0;display:flex}
.step.missing b{background:repeating-linear-gradient(90deg,var(--idle-soft) 0 6px,transparent 6px 10px)}
.linkbox{display:flex;gap:6px}
.linkbox input{flex:1;min-width:0}
.live{position:fixed;inset-inline-start:12px;bottom:12px;font-size:12px;background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:4px 9px;z-index:30}
.modal .card{max-height:calc(100vh - 32px);overflow-y:auto}
