.backdrop[data-v-5a8d9b59]{z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b122080;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette[data-v-5a8d9b59]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:560px;height:fit-content;max-height:62vh;display:flex;overflow:hidden;box-shadow:0 30px 60px -20px #00000080}.palette-input[data-v-5a8d9b59]{border:0;border-bottom:1px solid var(--border);color:var(--text);padding:var(--s4);font:400 14.5px var(--font);background:0 0;outline:none}.palette-body[data-v-5a8d9b59]{padding:var(--s2);overflow:auto}.palette-group+.palette-group[data-v-5a8d9b59]{margin-top:var(--s2)}.palette-label[data-v-5a8d9b59]{padding:var(--s2) var(--s3) 4px}.palette-item[data-v-5a8d9b59]{align-items:center;gap:var(--s3);width:100%;color:var(--text);cursor:pointer;padding:8px var(--s3);border-radius:var(--r-md);text-align:start;font:500 13px var(--font);background:0 0;border:0;display:flex}.palette-item[data-v-5a8d9b59]:hover,.palette-item.is-active[data-v-5a8d9b59]{background:var(--accent-soft);color:var(--accent)}.palette-icon[data-v-5a8d9b59]{text-align:center;opacity:.8;width:18px}.palette-text[data-v-5a8d9b59]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-hint[data-v-5a8d9b59]{color:var(--muted);font-size:10.5px}.palette-empty[data-v-5a8d9b59]{padding:var(--s6);text-align:center}.toasts[data-v-819803b7]{gap:var(--s2);z-index:200;flex-direction:column;max-width:360px;display:flex;position:fixed;inset-block-end:var(--s6);inset-inline-end:var(--s6)}.toast[data-v-819803b7]{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-md);padding:10px var(--s4);box-shadow:var(--shadow);cursor:pointer;border-inline-start:3px solid var(--success);font-size:12.5px;font-weight:500}.toast-danger[data-v-819803b7]{border-inline-start-color:var(--danger)}.toast-warning[data-v-819803b7]{border-inline-start-color:var(--warning)}.toast-enter-active[data-v-819803b7],.toast-leave-active[data-v-819803b7]{transition:all var(--t-base) var(--ease)}.toast-enter-from[data-v-819803b7],.toast-leave-to[data-v-819803b7]{opacity:0;transform:translateY(6px)}.badge[data-v-3b7818d2]{top:4px;background:var(--danger);color:#fff;border-radius:var(--r-pill);font:700 8.5px var(--font);text-align:center;min-width:14px;padding:1px 4px;position:absolute;inset-inline-end:4px}.fade-enter-active[data-v-3b7818d2],.fade-leave-active[data-v-3b7818d2]{transition:opacity var(--t-fast) var(--ease)}.fade-enter-from[data-v-3b7818d2],.fade-leave-to[data-v-3b7818d2]{opacity:0}:root{--navy:#0b1220;--orange:#ff6a00;--orange-dark:#d95900;--orange-deep:#a84500;--orange-lift:#ff8329;--deep-blue:#0f1f3d;--electric:#1677ff;--success:#22c55e;--warning:#fbbf24;--danger:#ef4444;--info:#3b82f6;--teal:#00b8b0;--purple:#7b61ff;--gray-900:#111827;--gray-800:#1f2937;--gray-600:#4b5563;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--r-sm:4px;--r-md:8px;--r-lg:10px;--r-pill:999px;--t-instant:.1s;--t-fast:.15s;--t-base:.25s;--t-slow:.4s;--ease:cubic-bezier(.2, 0, 0, 1);--font:Inter, system-ui, sans-serif;--font-ar:Tajawal, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--rail:64px;--topbar:56px}[data-theme=dark]{--bg:var(--navy);--side:#0d1526;--chrome:#0a101c;--surface:#0f172a;--raised:#1f2937;--sunken:#111b2e;--border:#334155;--text:#ffffffeb;--text-2:#ffffffb8;--muted:#ffffff80;--accent:var(--orange-lift);--accent-soft:#ff6a001f;--shadow:0 10px 30px -12px #0009}[data-theme=light]{--bg:#f5f6f8;--side:#fff;--chrome:#edeff3;--surface:#fff;--raised:#fff;--sunken:#f1f3f6;--border:#e4e7ec;--text:var(--navy);--text-2:var(--gray-600);--muted:var(--gray-500);--accent:var(--orange);--accent-soft:#ff6a001a;--shadow:0 1px 3px #0b122014}html[dir=rtl] body{font-family:var(--font-ar)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:400 14px/1.5 var(--font);-webkit-font-smoothing:antialiased}.ltr{direction:ltr;unicode-bidi:isolate}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;text-align:end}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:0 0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--electric)}.shell{height:100%;display:flex}.rail{width:var(--rail);background:var(--side);border-inline-end:1px solid var(--border);padding:var(--s3) 0;align-items:center;gap:var(--s2);flex-direction:column;flex:none;display:flex}.rail-brand{margin-bottom:var(--s2);display:block}.rail-brand img{height:26px;display:block}.rail-items{gap:var(--s1);flex-direction:column;flex:1;align-items:center;width:100%;display:flex}.rail-item{border-radius:var(--r-lg);width:44px;height:44px;color:var(--muted);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:0;place-items:center;font-size:17px;display:grid;position:relative}.rail-item:hover{background:var(--sunken);color:var(--text)}.rail-item.is-active{background:var(--accent-soft);color:var(--accent)}.rail-item.is-active:before{content:"";inset-inline-start:-12px;background:var(--accent);border-radius:var(--r-pill);width:3px;height:20px;position:absolute;top:50%;transform:translateY(-50%)}.rail-label{white-space:nowrap;background:var(--raised);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease);box-shadow:var(--shadow);z-index:50;padding:4px 9px;font-size:12px;font-weight:600;position:absolute;inset-inline-start:calc(100% + 8px)}.rail-item:hover .rail-label{opacity:1}.rail-user{border-radius:var(--r-pill);background:var(--accent);color:#fff;cursor:pointer;width:36px;height:36px;font:700 12px var(--font);border:0;place-items:center;display:grid}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--topbar);align-items:center;gap:var(--s4);padding:0 var(--s6);background:var(--chrome);border-bottom:1px solid var(--border);flex:none;display:flex}.tb-title{min-width:0}.tb-name{font-size:14px;font-weight:700;line-height:1.2}.tb-sub{color:var(--muted);font-size:11.5px}.tb-spacer{flex:1}.tb-actions{align-items:center;gap:var(--s2);display:flex}.stage{padding:var(--s6);flex:1;overflow:auto}.stage-inner{max-width:1360px;margin:0 auto}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-md);font:600 12.5px var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);white-space:nowrap;align-items:center;gap:6px;padding:7px 13px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.btn-sm{padding:4px 9px;font-size:11.5px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--sunken)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4)}.card-pad-0{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s4) var(--s3);display:flex}.card-title{font-size:13.5px;font-weight:700}.card-sub{color:var(--muted);font-size:11.5px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.grid{gap:var(--s4);display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (width<=1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.g4,.g3,.g2{grid-template-columns:1fr}}.row{align-items:center;gap:var(--s2);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:11.5px}.table{border-collapse:collapse;width:100%;font-size:12.5px}.table th{text-align:start;padding:9px var(--s4);background:var(--sunken);border-bottom:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);z-index:1;white-space:nowrap;font-size:9.5px;font-weight:700;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--accent)}.table td{padding:10px var(--s4);border-bottom:1px solid var(--border)}.table tbody tr{transition:background var(--t-fast) var(--ease)}.table tbody tr:hover{background:var(--sunken)}.table tbody tr.clickable{cursor:pointer}.table-scroll{max-height:calc(100vh - 260px);overflow:auto}.pill{border-radius:var(--r-pill);font:600 11px var(--font);white-space:nowrap;background:var(--sunken);color:var(--muted);align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.pill-success{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.pill-warning{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.pill-danger{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.pill-info{background:color-mix(in srgb, var(--info) 16%, transparent);color:var(--info)}.pill-accent{background:var(--accent-soft);color:var(--accent)}.pill-purple{background:color-mix(in srgb, var(--purple) 16%, transparent);color:var(--purple)}.bar{border-radius:var(--r-pill);background:var(--sunken);height:5px;overflow:hidden}.bar>i{border-radius:var(--r-pill);background:var(--accent);height:100%;display:block}.field{margin-bottom:var(--s4);display:block}.field-label{color:var(--text-2);margin-bottom:5px;font-size:11.5px;font-weight:600;display:block}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--r-md);font:400 13px var(--font);transition:border-color var(--t-fast) var(--ease);padding:8px 11px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;min-height:88px}.field-error{color:var(--danger);margin-top:4px;font-size:11.5px}.skeleton{background:linear-gradient(90deg, var(--sunken) 25%, var(--raised) 37%, var(--sunken) 63%);border-radius:var(--r-md);background-size:400% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.state{text-align:center;padding:var(--s12) var(--s6);color:var(--muted)}.state-icon{opacity:.5;margin-bottom:var(--s3);font-size:30px}.state-title{color:var(--text);margin-bottom:4px;font-size:13.5px;font-weight:700}.banner{align-items:center;gap:var(--s2);padding:9px var(--s4);border-radius:var(--r-md);font-size:12.5px;font-weight:500;display:flex}.banner-danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.banner-warning{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning)}.banner-offline{background:var(--warning);color:var(--navy);font-weight:600}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s6);display:flex}.page-title{letter-spacing:-.015em;margin:2px 0 0;font-size:21px;font-weight:800}.page-sub{color:var(--muted);font-size:12.5px}.tabs{background:var(--sunken);border-radius:var(--r-lg);gap:3px;padding:3px;display:flex}.tab{color:var(--muted);cursor:pointer;font:600 12px var(--font);border-radius:var(--r-md);transition:all var(--t-fast) var(--ease);white-space:nowrap;background:0 0;border:0;padding:6px 12px}.tab:hover{color:var(--text)}.tab.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4)}.kpi.is-danger{background:color-mix(in srgb, var(--danger) 6%, var(--surface));border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.kpi.is-warning{border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.kpi-label{color:var(--muted);font-size:11px;font-weight:600}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:5px 0 3px;font-size:25px;font-weight:800}.kpi-detail{color:var(--muted);font-size:11px}.kpi.is-danger .kpi-value{color:var(--danger)}.kpi.is-warning .kpi-value{color:var(--warning)}.kpi-link{cursor:pointer;display:block}.kpi-link:hover{border-color:var(--accent)}.menu{inset-inline-end:0;background:var(--raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:240px;padding:var(--s2);z-index:60;position:absolute;top:calc(100% + 6px)}.menu-item{align-items:center;gap:var(--s2);width:100%;color:var(--text);cursor:pointer;padding:7px var(--s3);border-radius:var(--r-md);font:500 12.5px var(--font);text-align:start;background:0 0;border:0;display:flex}.menu-item:hover{background:var(--sunken)}.menu-row{padding:5px var(--s3);justify-content:space-between;font-size:12px;display:flex}.kanban{gap:var(--s3);padding-bottom:var(--s3);align-items:flex-start;display:flex;overflow-x:auto}.kanban-col{background:var(--sunken);border-radius:var(--r-lg);padding:var(--s3);flex:0 0 260px}.kanban-col.is-over{outline:2px dashed var(--accent);outline-offset:-2px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3);margin-bottom:var(--s2);cursor:grab}.kanban-card:hover{border-color:var(--accent)}.kanban-card.is-stalled{border-inline-start:3px solid var(--warning)}.map{border-radius:var(--r-lg);background:repeating-linear-gradient(0deg, transparent 0 39px, color-mix(in srgb, var(--border) 45%, transparent) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, color-mix(in srgb, var(--border) 45%, transparent) 39px 40px), var(--sunken);border:1px solid var(--border);height:340px;position:relative;overflow:hidden}.pin{position:absolute;transform:translate(-50%,-50%)}.pin i{width:11px;height:11px;box-shadow:0 0 0 5px color-mix(in srgb, currentColor 25%, transparent);border-radius:50%;display:block}.pin span{inset-inline-start:15px;white-space:nowrap;font:600 10px var(--mono);color:var(--text-2);position:absolute;top:-3px}
