@font-face { font-family:PlexWorkspace; src:url('fonts/PlexArabic-Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:PlexWorkspace; src:url('fonts/PlexArabic-Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:PlexWorkspace; src:url('fonts/PlexArabic-SemiBold.woff2') format('woff2'); font-weight:600 900; font-display:swap; }
.terminal-only { display:none; }
.interface-bar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:9px 20px; border-bottom:1px solid var(--line); background:var(--surface); font-size:.8rem; }
.interface-identity { display:flex; align-items:center; gap:12px; }
.terminal-wordmark { font-family:var(--font); font-size:.72rem; letter-spacing:.08em; }
.terminal-wordmark b { font-weight:500; }
.interface-current,.interface-beta,.interface-note { color:var(--ink-2); }
.interface-toggle { margin-inline-start:auto; min-height:36px; padding:6px 13px; font:inherit; font-weight:500; cursor:pointer; color:var(--accent); background:var(--accent-soft); border:1px solid var(--line-strong); border-radius:6px; }
.interface-leave,.interface-beta,.workspace-nav-icon { display:none; }
:root[data-interface="terminal"] .interface-enter,:root[data-interface="terminal"] .interface-current { display:none; }
:root[data-interface="terminal"] .interface-leave,:root[data-interface="terminal"] .interface-beta { display:inline; }
@media screen {
 :root[data-interface="terminal"] {
  --font:PlexWorkspace,'Segoe UI',Tahoma,sans-serif; --mono:PlexWorkspace,'Segoe UI',sans-serif;
  --bg:#f5f6f3; --surface:#ffffff; --surface-2:#f6f7f4; --surface-3:#ebeee8;
  --ink:#1d302b; --ink-2:#617069; --ink-3:#758078; --line:#e1e6de; --line-strong:#ccd5ca;
  --accent:#235544; --accent-ink:#ffffff; --pos:#1e7750; --neg:#b84141; --warn:#92621f; --info:#315d74;
  --accent-soft:#e8efe5; --focus:#417f64; --shadow:0 2px 4px #162d2004; --shadow-lg:0 12px 32px #162d2014;
  --r-sm:5px; --r-md:7px; --r-lg:10px; --nav-h:76px; --wrap:1680px;
  --fs-base:1rem; --fs-sm:.84rem; --fs-xs:.76rem; --fs-md:.94rem; --fs-lg:1.12rem; --fs-xl:1.3rem; --fs-2xl:1.7rem;
  font-size:16px; color-scheme:light;
 }
 :root[data-interface="terminal"][data-theme="dark"] {
  --bg:#111a17; --surface:#19241f; --surface-2:#1d2b24; --surface-3:#2a3830;
  --ink:#eaf0e7; --ink-2:#a6b6a9; --ink-3:#8ea194; --line:#2d3b32; --line-strong:#46574b;
  --accent:#bddaab; --accent-ink:#162f24; --accent-soft:#2c4032; --pos:#8fd2a6; --neg:#ef9b96; --warn:#e0bc79; --info:#9ebecd;
  color-scheme:dark;
 }
 :root[data-interface="terminal"] body { font-family:var(--font); line-height:1.75; }
 :root[data-interface="terminal"] .terminal-only { display:block; }
 :root[data-interface="terminal"] .interface-bar { background:var(--bg); border:0; padding-block:12px; }
 :root[data-interface="terminal"] .interface-note { font-size:.8rem; color:var(--ink-3); }
 :root[data-interface="terminal"] .interface-beta { border:1px solid var(--line-strong); background:var(--surface); border-radius:4px; padding:1px 7px; font-size:.7rem; }
 :root[data-interface="terminal"] .interface-toggle { background:transparent; border:0; padding:4px 0; min-height:32px; color:var(--ink-2); font-size:.8rem; text-decoration:underline; text-underline-offset:4px; }
 :root[data-interface="terminal"] .topbar { background:var(--surface); backdrop-filter:none; }
 :root[data-interface="terminal"] .brand { font-family:PlexWorkspace,sans-serif; font-size:1.15rem; font-weight:600; letter-spacing:-.03em; gap:12px; }
 :root[data-interface="terminal"] .brand .mark { width:30px; height:30px; border-radius:7px; background:none; border:1px solid currentColor; position:relative; opacity:.9; }
 :root[data-interface="terminal"] .brand .mark:before { content:''; position:absolute; inset:6px; border-inline-start:3px solid currentColor; border-top:3px solid currentColor; }
 :root[data-interface="terminal"] .brand .mark:after { content:''; position:absolute; width:9px; height:7px; inset-inline-end:6px; bottom:6px; border-inline-end:3px solid currentColor; border-top:3px solid currentColor; }
 :root[data-interface="terminal"] .topbar .topsearch input { height:42px; border:1px solid var(--line); border-radius:7px; background:var(--surface-2); font-size:.86rem; }
 :root[data-interface="terminal"] .who { gap:12px; }
 :root[data-interface="terminal"] .who .badge { border:0; background:var(--surface-2); color:var(--ink-2); border-radius:4px; }
 :root[data-interface="terminal"] .language-switch { font-family:var(--font); border:0; background:transparent; padding-inline:6px; font-size:.85rem; }
 :root[data-interface="terminal"] .page-head { align-items:center; gap:16px; margin-bottom:28px; position:relative; }
 :root[data-interface="terminal"] h1 { font-size:2.05rem; line-height:1.45; font-weight:600; letter-spacing:-.045em; }
 :root[data-interface="terminal"] .page-head .sub { margin-top:9px; max-width:720px; font-size:.91rem; color:var(--ink-2); line-height:1.8; }
 :root[data-interface="terminal"] .workspace-eyebrow { flex-basis:100%; color:var(--ink-3); font-size:.8rem; font-weight:500; margin-bottom:-14px; }
 :root[data-interface="terminal"][lang="en"] .workspace-eyebrow { font-size:.68rem; letter-spacing:.15em; }
 :root[data-interface="terminal"] .page-head .actions { gap:10px; }
 :root[data-interface="terminal"] .btn,:root[data-interface="terminal"] button.primary,:root[data-interface="terminal"] button.ghost { font-weight:500; min-height:42px; padding:9px 17px; border-radius:6px; font-size:.88rem; }
 :root[data-interface="terminal"] .btn.ghost,:root[data-interface="terminal"] button.ghost { background:var(--surface); border-color:var(--line-strong); }
 :root[data-interface="terminal"] .btn:not(.ghost):not(.danger) { box-shadow:0 2px 2px #14251b0b; }
 :root[data-interface="terminal"] .panel { background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); overflow:hidden; }
 :root[data-interface="terminal"] .panel > .head,:root[data-interface="terminal"] .panel-head { padding:19px 22px; background:none; border-bottom:1px solid var(--line); border-inline-start:0; }
 :root[data-interface="terminal"] .panel > .head h2,:root[data-interface="terminal"] .panel-head h2 { font-weight:600; font-size:1.03rem; }
 :root[data-interface="terminal"] .more { font-size:.8rem; font-weight:500; white-space:nowrap; }
 :root[data-interface="terminal"] .grid { gap:22px; }
 :root[data-interface="terminal"] .section { margin-top:24px; }
 :root[data-interface="terminal"] .kpis { gap:0; border:1px solid var(--line); background:var(--surface); border-radius:10px; overflow:hidden; }
 :root[data-interface="terminal"] .kpi { background:transparent; border:0; border-inline-end:1px solid var(--line); padding:24px; box-shadow:none; }
 :root[data-interface="terminal"] .kpi:last-child { border-inline-end:0; }
 :root[data-interface="terminal"] .kpi:before,:root[data-interface="terminal"] .kpi:after { display:none; }
 :root[data-interface="terminal"] .kpi .k { color:var(--ink-2); font-size:.84rem; font-weight:400; }
 :root[data-interface="terminal"] .kpi .v { font-family:var(--font); font-size:2.2rem; font-weight:500; letter-spacing:-.05em; line-height:1.4; margin:12px 0 7px; color:var(--ink); }
 :root[data-interface="terminal"] .kpi .n { font-size:.77rem; line-height:1.85; }
 :root[data-interface="terminal"] .kpi .v.up { color:var(--pos); }
 :root[data-interface="terminal"] .kpi .v.down { color:var(--neg); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpis { grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi { display:flex; flex-direction:column; justify-content:center; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child { background:#193f32; color:#f5f8ed; padding:24px 28px; border:0; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child .k { color:#c6d5c8; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child .v { color:#f5f8ed; font-size:2.65rem; margin-top:7px; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child .n.up { color:#bddaab; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child .n.down { color:#ffb6b0; }
 :root[data-interface="terminal"] .terminal-allocation { margin-top:24px; border-top:1px solid #ffffff24; padding-top:14px; }
 :root[data-interface="terminal"] .allocation-heading { display:flex; align-items:center; justify-content:space-between; color:#c6d5c8; font-size:.75rem; gap:12px; }
 :root[data-interface="terminal"] .allocation-chart { display:block; width:100%; height:5px; margin:12px 0; overflow:visible; }
 :root[data-interface="terminal"] .allocation-legend { display:flex; gap:18px; flex-wrap:wrap; font-size:.75rem; color:#d9e4d6; }
 :root[data-interface="terminal"] .allocation-legend > span { display:flex; align-items:center; gap:5px; }
 :root[data-interface="terminal"] .allocation-legend b { font-weight:500; }
 :root[data-interface="terminal"] .cash-dot,:root[data-interface="terminal"] .holdings-dot { width:6px; height:6px; border-radius:50%; background:#bddaab; }
 :root[data-interface="terminal"] .holdings-dot { background:#6f9584; }
 :root[data-interface="terminal"] table { font-size:.88rem; }
 :root[data-interface="terminal"] th { background:var(--surface-2); color:var(--ink-2); font-size:.76rem; font-weight:400; padding:12px 16px; border-color:var(--line); }
 :root[data-interface="terminal"] td { padding:15px 16px; border-color:var(--line); }
 :root[data-interface="terminal"] tbody tr:hover { background:var(--surface-2); }
 :root[data-interface="terminal"] .ticker { font-family:var(--font); font-weight:600; color:var(--ink); letter-spacing:0; }
 :root[data-interface="terminal"] .mono,:root[data-interface="terminal"] .num { font-family:var(--font); letter-spacing:0; }
 :root[data-interface="terminal"] .tag { font-size:.73rem; font-weight:400; border-radius:5px; padding:3px 7px; }
 :root[data-interface="terminal"] .panel-foot { padding:13px 20px; font-size:.75rem; background:var(--surface); line-height:1.9; color:var(--ink-2); }
 :root[data-interface="terminal"] .empty { padding:34px 24px; color:var(--ink-3); font-size:.88rem; }
 :root[data-interface="terminal"] input,:root[data-interface="terminal"] select,:root[data-interface="terminal"] textarea { background:var(--surface); border-color:var(--line-strong); border-radius:6px; font-family:var(--font); }
 :root[data-interface="terminal"] .filters,:root[data-interface="terminal"] .pills { gap:6px; }
 :root[data-interface="terminal"] .filters a,:root[data-interface="terminal"] .pills a { border-radius:5px; padding:7px 13px; }
 :root[data-interface="terminal"] .technical-conditions { border-radius:8px; background:var(--surface); padding:18px; }
 :root[data-interface="terminal"] .technical-choices .check { background:var(--surface-2); padding:12px; border:1px solid var(--line); border-radius:6px; }
 :root[data-interface="terminal"] .doc { border-radius:10px; line-height:1.95; }
 :root[data-interface="terminal"] .chat-workspace { box-shadow:none; }
 :root[data-interface="terminal"] .chat-welcome { padding-block:48px; }
 :root[data-interface="terminal"] .chat-identity { border-radius:8px; background:var(--accent-soft); }
 :root[data-interface="terminal"] .chat-suggestion { background:var(--surface); border-radius:8px; padding:20px; }
 :root[data-interface="terminal"] .chat-history nav a { border-radius:6px; }
 :root[data-interface="terminal"] .chat-composer { background:var(--surface-2); }
 :root[data-interface="terminal"] .chat-launcher { border-radius:9px; padding:10px 16px; box-shadow:0 4px 15px #10251918; font-weight:500; font-size:.88rem; }
 :root[data-interface="terminal"] .foot { border-top:0; color:var(--ink-3); font-size:.72rem; padding-block:26px; }
 :root[data-interface="terminal"] .bottom-nav { background:var(--surface); }
 :root[data-interface="terminal"] .bottom-nav a.on,:root[data-interface="terminal"] .bottom-nav button.on { color:var(--accent); background:var(--accent-soft); }
 :root[data-interface="terminal"] .sheet .card { background:var(--surface); }
 :root[data-interface="terminal"] .workspace-nav-icon { display:inline-block; width:19px; height:19px; flex:0 0 19px; color:inherit; opacity:.8; }
}
@media screen and (min-width:1200px) {
 :root[data-interface="terminal"] .topbar-in { max-width:none; padding-inline-start:282px; padding-inline-end:36px; }
 :root[data-interface="terminal"] .topbar .brand { position:fixed; inset-inline-start:0; top:0; width:246px; height:76px; padding:0 25px; background:#172c24; color:#f3f6ee; border-bottom:1px solid #ffffff10; z-index:42; }
 :root[data-interface="terminal"] .brand .beta { font-size:.58rem; padding:1px 4px; }
 :root[data-interface="terminal"] .topbar .nav { position:fixed; inset-inline-start:0; top:76px; bottom:0; width:246px; padding:30px 16px; display:flex; flex-direction:column; align-items:stretch; gap:5px; overflow-y:auto; scrollbar-width:thin; background:#172c24; border-inline-end:0; }
 :root[data-interface="terminal"] .nav:before { content:'مساحة العمل'; display:block; color:#8ba196; font-size:.73rem; margin:0 14px 12px; }
 :root[data-interface="terminal"][lang="en"] .nav:before { content:'WORKSPACE'; font-size:.64rem; letter-spacing:.15em; }
 :root[data-interface="terminal"] .nav:after { content:'GFH CAPITAL / RESEARCH'; color:#8ba196; font-family:PlexWorkspace,sans-serif; font-size:.58rem; letter-spacing:.12em; border-top:1px solid #ffffff14; margin:32px 14px 0; padding-top:22px; direction:ltr; }
 :root[data-interface="terminal"] .nav > a,:root[data-interface="terminal"] .nav summary { width:100%; min-height:45px; padding:10px 14px; gap:12px; color:#c2d0c6; font-size:.9rem; font-weight:400; border-radius:6px; }
 :root[data-interface="terminal"] .nav > a:hover,:root[data-interface="terminal"] .nav summary:hover { background:#ffffff08; color:#fff; }
 :root[data-interface="terminal"] .nav a.on,:root[data-interface="terminal"] .nav details.on > summary { background:#dce8d4; color:#21392b; font-weight:500; }
 :root[data-interface="terminal"] .nav .menu { position:static; min-width:0; box-shadow:none; border:0; border-radius:0; background:transparent; margin:5px 12px 8px; padding:2px 0; border-inline-start:1px solid #ffffff20; }
 :root[data-interface="terminal"] .nav .menu a { color:#c2d0c6; white-space:normal; display:flex; align-items:flex-start; flex-direction:column; gap:2px; font-size:.82rem; padding:10px 15px; }
 :root[data-interface="terminal"] .nav .menu a:hover { background:#ffffff08; }
 :root[data-interface="terminal"] .nav .menu .k { color:#8ba196; font-size:.65rem; }
 :root[data-interface="terminal"] .nav .caret { margin-inline-start:auto; }
 :root[data-interface="terminal"] .topbar .topsearch { display:block; margin-inline-start:0; flex:1; max-width:390px; }
 :root[data-interface="terminal"] .topbar .topsearch input { width:100%; }
 :root[data-interface="terminal"] .who [data-search-toggle] { display:none; }
 :root[data-interface="terminal"] .who { margin-inline-start:auto; }
 :root[data-interface="terminal"] .interface-bar { margin-inline-start:246px; padding-inline:36px; }
 :root[data-interface="terminal"] .wrap { margin-inline-start:246px; margin-inline-end:0; width:calc(100% - 246px); max-width:none; padding:22px 36px 32px; }
 :root[data-interface="terminal"] .foot { margin-inline-start:246px; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .wrap { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; align-content:start; align-items:start; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .page-head,:root[data-interface="terminal"] body[data-page="dashboard"] .kpis { grid-column:1 / -1; margin:0; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .grid.c2 { display:contents; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .wrap > .grid:nth-last-child(2) > .panel:first-child { grid-column:1; grid-row:3 / 5; align-self:stretch; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .wrap > .grid:nth-last-child(2) > .panel:last-child { grid-column:2; grid-row:3; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .wrap > .grid:last-child > .panel:first-child { grid-column:2; grid-row:4; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .wrap > .grid:last-child > .panel:last-child { grid-column:1 / -1; grid-row:5; }
}
@media screen and (min-width:1700px) {
 :root[data-interface="terminal"] .wrap { padding-inline:56px; }
 :root[data-interface="terminal"] .interface-bar { padding-inline:56px; }
 :root[data-interface="terminal"] .page-head { margin-top:8px; margin-bottom:34px; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpis { grid-template-columns:1.45fr repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width:1199px) {
 :root[data-interface="terminal"] { --nav-h:64px; }
 :root[data-interface="terminal"] .topbar-in { padding-inline:20px; }
 :root[data-interface="terminal"] .wrap { padding:18px 24px 32px; }
 :root[data-interface="terminal"] .interface-bar { padding-inline:24px; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi { border-bottom:1px solid var(--line); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:nth-child(even) { border-inline-end:0; }
 :root[data-interface="terminal"] .who { gap:6px; }
}
@media screen and (max-width:700px) {
 .interface-bar { padding:8px 12px; gap:8px; }
 .interface-note,.interface-current { display:none; }
 .interface-identity { gap:8px; }
 .terminal-wordmark { font-size:.67rem; }
 .interface-toggle { font-size:.74rem; min-height:44px; }
 :root[data-interface="terminal"] { font-size:15.5px; }
 :root[data-interface="terminal"] .topbar-in { padding-inline:16px; }
 :root[data-interface="terminal"] .brand { font-size:1rem; gap:9px; }
 :root[data-interface="terminal"] .brand .mark { width:27px; height:27px; }
 :root[data-interface="terminal"] .wrap { padding:14px 16px 24px; }
 :root[data-interface="terminal"] .interface-bar { padding:7px 16px; }
 :root[data-interface="terminal"] .interface-toggle { font-size:.73rem; min-height:44px; }
 :root[data-interface="terminal"] .interface-beta { font-size:.64rem; padding-inline:5px; }
 :root[data-interface="terminal"] .page-head { gap:13px; margin-bottom:22px; }
 :root[data-interface="terminal"] h1 { font-size:1.75rem; }
 :root[data-interface="terminal"] .page-head .sub { font-size:.82rem; line-height:1.85; }
 :root[data-interface="terminal"] .workspace-eyebrow { font-size:.73rem; margin-bottom:-9px; }
 :root[data-interface="terminal"] .page-head .actions { width:100%; }
 :root[data-interface="terminal"] .page-head .actions > .btn { flex:1; }
 :root[data-interface="terminal"] .kpi { padding:18px 16px; }
 :root[data-interface="terminal"] .kpi .v { font-size:1.8rem; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:first-child { grid-column:1 / -1; padding:22px; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:nth-child(2) { border-inline-end:1px solid var(--line); }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:nth-child(3) { border-inline-end:0; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:last-child { grid-column:1 / -1; padding:16px 22px; display:grid; grid-template-columns:1fr auto; align-items:center; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:last-child .v { grid-column:2; grid-row:1 / 3; margin:0; }
 :root[data-interface="terminal"] body[data-page="dashboard"] .kpi:last-child .n { grid-column:1; }
 :root[data-interface="terminal"] .terminal-allocation { margin-top:20px; }
 :root[data-interface="terminal"] .panel > .head,:root[data-interface="terminal"] .panel-head { padding:17px 16px; }
 :root[data-interface="terminal"] .panel > .head h2 { font-size:.95rem; }
 :root[data-interface="terminal"] th { padding:10px 12px; }
 :root[data-interface="terminal"] td { padding:14px 12px; }
 :root[data-interface="terminal"] .panel-foot { padding:12px 16px; }
 :root[data-interface="terminal"] .section { margin-top:20px; }
 :root[data-interface="terminal"] .grid { gap:20px; }
 :root[data-interface="terminal"] .foot { padding-inline:20px; }
}
@media print { .interface-bar,.terminal-only,.workspace-nav-icon { display:none !important; } }
@media screen and (prefers-color-scheme:dark) {
 :root[data-interface="terminal"]:not([data-theme="light"]) {
  --bg:#111a17; --surface:#19241f; --surface-2:#1d2b24; --surface-3:#2a3830;
  --ink:#eaf0e7; --ink-2:#a6b6a9; --ink-3:#8ea194; --line:#2d3b32; --line-strong:#46574b;
  --accent:#bddaab; --accent-ink:#162f24; --accent-soft:#2c4032; --pos:#8fd2a6; --neg:#ef9b96; --warn:#e0bc79; --info:#9ebecd;
  color-scheme:dark;
 }
}

/* Public/error pages have no sidebar. Keep their forms and actions centered. */
@media screen {
 :root[data-interface="terminal"] body[data-authenticated="false"] .wrap { margin:0 auto; width:100%; max-width:1200px; padding:40px 24px; }
 :root[data-interface="terminal"] body[data-authenticated="false"] .foot { margin-inline-start:0; }
 :root[data-interface="terminal"] .login-card { border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 50px #163b2610; padding:36px; }
 :root[data-interface="terminal"] .login-card .brand { color:var(--accent); }
 :root[data-interface="terminal"] .login-card h1 { font-size:1.7rem; }
 :root[data-interface="terminal"] .login-card input { min-height:46px; }
}
@media screen and (max-width:480px) { :root[data-interface="terminal"] .login-card { padding:26px 22px; } }
