:root{--brand-navy: #09233f;--brand-blue: #1d5295;--brand-cyan: #25a9e0;--brand-soft: #afc6de;--brand-cloud: #f4f7fb;--bg: #f4f7fb;--surface: #ffffff;--surface-2: #eef3f9;--fg: #09233f;--muted: #50657e;--line: #dce5ef;--line-strong: #afc6de;--navy: #09233f;--navy-surface: #0f2c4d;--sidebar-bg: var(--navy-surface);--sidebar-raise: color-mix(in srgb, #ffffff 7%, var(--navy-surface));--sidebar-sunk: color-mix(in srgb, #000000 18%, var(--navy-surface));--navy-2: #102f52;--navy-fg: #e6eef7;--navy-muted: #93acc8;--accent: #1d5295;--accent-soft: #e3ecf7;--accent-fg: #ffffff;--cyan: #25a9e0;--cyan-soft: #e0f3fb;--focus: #25a9e0;--cyan-ink: #0b6fa3;--good: #11805a;--good-soft: #e2f3ea;--warn: #0a6796;--warn-soft: #e0f3fb;--bad: #c0362f;--bad-soft: #fbe6e4;--c-open: #1d5295;--c-progress: #25a9e0;--c-closed: #1a9e6c;--c-overdue: #d4433b;--c-raised: #1d5295;--c-backlog: #7f9cc0;--shadow: 0 1px 2px rgba(9, 35, 63, .06), 0 4px 16px rgba(9, 35, 63, .05);--shadow-lg: 0 18px 50px rgba(9, 35, 63, .22);--f-arabic: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", "Noto Sans Arabic", "Noto Naskh Arabic", "Arial", sans-serif;--f-display: "Poppins", "IBM Plex Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", "Noto Sans Arabic", system-ui, -apple-system, sans-serif;--f-body: "Poppins", "IBM Plex Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", "Noto Sans Arabic", system-ui, -apple-system, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r: 10px;--r-sm: 6px;--gutter: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #061a30;--surface: #0b2440;--surface-2: var(--navy-surface);--fg: #eaf1f9;--muted: #9fb4cc;--line: #1b3a5e;--line-strong: #2a5079;--navy: #041427;--navy-2: #0a2341;--navy-fg: #e6eef7;--navy-muted: #8aa4c2;--accent: #25a9e0;--accent-soft: #123a63;--accent-fg: #041427;--cyan: #37b6ea;--cyan-soft: #0f3550;--focus: #37b6ea;--cyan-ink: #5cc8f0;--good: #3dbb88;--good-soft: #0d3027;--warn: #6fd0f5;--warn-soft: #0f3550;--bad: #f17a72;--bad-soft: #3d1a1b;--c-open: #4ea3ea;--c-progress: #37b6ea;--c-closed: #2bb57f;--c-overdue: #ec6b63;--c-raised: #4ea3ea;--c-backlog: #afc6de;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 18px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .45);color-scheme:dark}}:root[data-theme=dark]{--bg: #061a30;--surface: #0b2440;--surface-2: var(--navy-surface);--fg: #eaf1f9;--muted: #9fb4cc;--line: #1b3a5e;--line-strong: #2a5079;--navy: #041427;--navy-2: #0a2341;--navy-fg: #e6eef7;--navy-muted: #8aa4c2;--accent: #25a9e0;--accent-soft: #123a63;--accent-fg: #041427;--cyan: #37b6ea;--cyan-soft: #0f3550;--focus: #37b6ea;--cyan-ink: #5cc8f0;--good: #3dbb88;--good-soft: #0d3027;--warn: #6fd0f5;--warn-soft: #0f3550;--bad: #f17a72;--bad-soft: #3d1a1b;--c-open: #4ea3ea;--c-progress: #37b6ea;--c-closed: #2bb57f;--c-overdue: #ec6b63;--c-raised: #4ea3ea;--c-backlog: #afc6de;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 18px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}:root[dir=rtl] body{font-family:var(--f-arabic)}:root[lang=ar] body *:not([lang=en]):not([lang=en] *){letter-spacing:normal!important;text-transform:none!important}:root[lang=ar] :is(h1,h2,h3,h4,button,input,select,textarea,.btn,.nav-item,.kpi-value,.po-value){font-family:var(--f-arabic)}:root[lang=ar] .mono,:root[lang=ar] code{font-family:var(--f-mono),var(--f-arabic)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;text-wrap:balance}h1{font-family:var(--f-display);font-size:clamp(22px,2.4vw,28px);font-weight:650;letter-spacing:-.01em}h2{font-family:var(--f-display);font-size:18px;font-weight:600}h3{font-size:14.5px;font-weight:600}h4{font-size:13px;font-weight:600}p{margin:0}.mono{font-family:var(--f-mono);font-size:.92em}.muted{color:var(--muted)}.small{font-size:12.5px}.block{display:block}.nowrap{white-space:nowrap}.grow{flex:1}.min0{min-width:0}.mt{margin-top:18px}.pad{padding:12px 0}.center{text-align:center}.num{text-align:end;font-variant-numeric:tabular-nums}.txt-bad{color:var(--bad)}.txt-warn{color:var(--warn)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:4px}.stack{display:flex;flex-direction:column;gap:14px}.inline{display:flex;align-items:center;gap:10px}.inline.wrap{flex-wrap:wrap}.row-end{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar-bg);color:var(--navy-fg);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px 0;padding-left:calc(14px + env(safe-area-inset-left,0px));overflow:hidden;z-index:40}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;margin-inline:-4px;padding-inline:4px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-soft) 30%,transparent) transparent}.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 14px}.proto-flag{margin:0 6px 16px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-cyan);border:1px dashed color-mix(in srgb,var(--brand-cyan) 60%,transparent);border-radius:var(--r-sm);padding:5px 8px;text-align:center}.nav-group{margin-bottom:14px}.nav-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--navy-muted);padding:4px 10px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;background:none;border:0;color:var(--navy-fg);text-align:start;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13.5px;transition:background .15s,color .15s}.nav-item .icon{opacity:.75;flex:none}.nav-item:hover{background:var(--sidebar-raise)}.nav-item.on{background:var(--brand-cloud);color:var(--brand-navy);font-weight:600;box-shadow:inset 3px 0 0 var(--brand-cyan)}:root[dir=rtl] .nav-item.on{box-shadow:inset -3px 0 0 var(--brand-cyan)}.nav-item.on .icon{opacity:1;color:var(--brand-blue)}.nav-count{margin-inline-start:auto;background:var(--c-overdue);color:#fff;font-size:11px;font-weight:600;border-radius:99px;padding:0 7px;line-height:18px}.scrim{display:none}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;display:flex;align-items:center;gap:12px;padding:10px var(--gutter-r) 10px var(--gutter);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}@media(min-width:961px){.topbar{padding-inline:28px}}.topbar-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.nav-toggle{display:none}.role-switch{display:flex;align-items:center;gap:8px;white-space:nowrap}.role-switch select{max-width:200px}.store-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:99px;border:1px solid var(--line);white-space:nowrap}.sb-ok{color:var(--good);background:var(--good-soft);border-color:transparent}.sb-warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.sb-bad{color:var(--bad);background:var(--bad-soft);border-color:transparent}.sb-idle{color:var(--muted)}.content{padding:24px var(--gutter-r) 40px var(--gutter);max-width:1480px;width:100%;animation:page-in .28s ease backwards}@media(min-width:961px){.content{padding-inline:28px}}@keyframes page-in{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}.app-foot{padding:14px var(--gutter-r) 22px var(--gutter);border-top:1px solid var(--line);margin-top:auto}@media(min-width:961px){.app-foot{padding-inline:28px}}.loading{display:flex;align-items:center;gap:10px;padding:60px 0;color:var(--muted)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:264px;transform:translate(-102%);transition:transform .22s ease;padding-top:calc(18px + env(safe-area-inset-top,0px))}:root[dir=rtl] .sidebar{transform:translate(102%)}.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.nav-open .scrim{display:block;position:fixed;inset:0;background:#04142773;z-index:35}.nav-toggle{display:inline-grid}.hide-sm{display:none}}@media(max-width:560px){.hide-xs{display:none!important}.role-switch select{max-width:140px}.topbar{gap:8px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:500;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.is-denied{opacity:.6}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--line)}.btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:transparent}.btn-danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.btn-sm{padding:5px 10px;font-size:12.5px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--muted)}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--fg);border-color:var(--line)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.linklike{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit}.linklike:hover{text-decoration:underline}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;min-height:36px;width:100%;min-width:0}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;white-space:nowrap}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em}.field-hint{font-size:11.5px;color:var(--muted)}.field-error{font-size:12px;color:var(--bad)}.has-error input,.has-error select,.has-error textarea{border-color:var(--bad)}.span-2{grid-column:1 / -1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.form-grid,.form-grid.cols-3{grid-template-columns:minmax(0,1fr)}}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:2px}.seg button{border:0;background:none;padding:5px 12px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--muted)}.seg button.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--fg);display:inline-flex;align-items:center;gap:6px}.chip:hover:not(:disabled){border-color:var(--accent)}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}:root[data-theme=dark] .chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}}.page{display:flex;flex-direction:column;gap:18px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}.page-head>div:first-child{min-width:0;max-width:760px}.page-head p.muted{margin-top:4px}.head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.mini{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.mini select,.mini input{text-transform:none;letter-spacing:0;font-weight:400;color:var(--fg);font-size:13px;min-width:140px}.inline-mini{flex-direction:row;align-items:center;gap:6px}.inline-mini input{min-width:0;width:150px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0}.card.flush{padding:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:1080px){.grid-2{grid-template-columns:minmax(0,1fr)}}.banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--r);font-size:13px}.banner .icon{flex:none;margin-top:2px}.banner-warn{background:var(--warn-soft);color:var(--warn)}.banner-info{background:var(--accent-soft);color:var(--fg);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.banner-info .icon{color:var(--accent)}.note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);background:var(--surface-2);border-radius:8px;padding:8px 12px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--navy-fg);border:0;padding:22px 24px}.welcome h2{color:#fff;margin-bottom:6px}.welcome p{max-width:62ch;color:var(--navy-fg)}.welcome .eyebrow{color:var(--brand-cyan)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:1080px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{position:relative;text-align:start;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 13px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden}.kpi:not(:disabled):hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.kpi:disabled{cursor:default;color:inherit}.kpi:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:transparent}.kpi-bad:before{background:var(--bad)}.kpi-warn:before{background:var(--warn)}.kpi-good:before{background:var(--good)}.kpi-progress:before{background:var(--c-progress)}.kpi-label{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.kpi-value{font-family:var(--f-display);font-size:30px;font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums}.kpi-bad .kpi-value{color:var(--bad)}.kpi-sub{font-size:12px;color:var(--muted)}.meter{display:block;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line)}.meter>span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .6s ease}.meter-good>span{background:var(--good)}.meter-cell{display:inline-flex;align-items:center;gap:8px;min-width:120px}.meter-cell .meter{width:70px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:2px 9px 2px 7px;border-radius:99px;white-space:nowrap}.pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.pill-pending{background:color-mix(in srgb,var(--c-open) 13%,transparent);color:var(--c-open)}.pill-progress{background:color-mix(in srgb,var(--c-progress) 14%,transparent);color:var(--c-progress)}.pill-closed{background:var(--good-soft);color:var(--good)}.pill-overdue{background:var(--bad-soft);color:var(--bad)}.prio{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.03em;padding:1px 8px;border-radius:4px;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap}.prio-critical{background:var(--bad);border-color:var(--bad);color:#fff}.prio-high{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.prio-medium{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.tl{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;white-space:nowrap}.tl-lamp{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1.5px #0000001f}.tl-red .tl-lamp{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.tl-amber .tl-lamp{background:var(--cyan);box-shadow:0 0 0 3px var(--warn-soft)}.tl-green .tl-lamp{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.tl-closed .tl-lamp{background:var(--line-strong)}.tag-mini{font-size:10.5px;padding:0 6px;border-radius:4px;background:var(--warn-soft);color:var(--warn);margin-inline-start:6px;font-family:var(--f-body)}.kind{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);font-weight:600}.kind-created{color:var(--accent)}.kind-closed{color:var(--good)}.kind-reopened{color:var(--warn)}.kind-status{color:var(--c-progress)}.table-wrap{overflow-x:auto;min-width:0}.table-wrap.compact{margin-top:14px}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:start;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tbody tr:last-child td{border-bottom:0}.tbl th.num,.tbl td.num{text-align:end}.tbl tr.clickable:hover td,.log-table tbody tr:hover td{background:var(--surface-2)}.tbl td.clip{max-width:380px}.row-overdue td:first-child{box-shadow:inset 3px 0 0 var(--bad)}:root[dir=rtl] .row-overdue td:first-child{box-shadow:inset -3px 0 0 var(--bad)}.th-sort{background:none;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.sort-ind{font-size:9px;color:var(--accent)}.log-table{min-width:1180px}.log-table td.desc{min-width:260px;max-width:420px}.desc-text{display:block}.log-table td.remark{min-width:180px;max-width:280px;font-size:12.5px}.inline-select{min-height:30px!important;padding:3px 8px!important;font-size:12.5px;width:auto!important;min-width:120px!important}.prio-select.prio-critical,.prio-select.prio-high{color:var(--bad);font-weight:600}.table-more{padding:12px;display:flex;justify-content:center;border-top:1px solid var(--line)}.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:start}.perm{width:26px;height:26px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;display:inline-grid;place-items:center;color:var(--accent-fg)}.perm.on{background:var(--accent);border-color:var(--accent)}.perm:disabled{cursor:not-allowed;opacity:.75}.edit-table td{padding:5px 6px;vertical-align:middle}.edit-table input:not([type=checkbox]),.edit-table select{min-height:32px;padding:4px 8px}.toolbar{display:flex;flex-direction:column;gap:12px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-row>select{width:auto;min-width:140px;flex:0 1 auto}.search{display:flex;align-items:center;gap:8px;flex:1 1 280px;min-width:0;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;background:var(--surface)}.search:focus-within{outline:2px solid var(--accent);outline-offset:1px}.search input{border:0!important;outline:none;padding-inline:0!important;background:transparent!important}.search .icon{color:var(--muted);flex:none}@media(max-width:640px){.filter-row>select{flex:1 1 140px}.inline-mini{flex:1 1 100%}.inline-mini input{flex:1;width:auto}}.empty{text-align:center;padding:42px 20px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;gap:10px}.empty p{color:var(--muted);max-width:52ch}.empty-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.donut-wrap{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:20px;align-items:center}@media(max-width:520px){.donut-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}}.donut{width:100%;max-width:200px}.donut-num{font-family:var(--f-display);font-size:30px;font-weight:650;fill:var(--fg)}.donut-sub{font-size:11px;fill:var(--muted);text-transform:uppercase;letter-spacing:.08em}.legend{list-style:none;padding:0;margin:0;display:grid;gap:4px;width:100%}.legend-item{width:100%;display:grid;grid-template-columns:12px 1fr auto 44px;gap:10px;align-items:center;background:none;border:0;border-radius:6px;padding:7px 8px;cursor:pointer;text-align:start}.legend-item:hover:not(:disabled),.legend-item.on{background:var(--surface-2)}.legend-item:disabled{cursor:default}.legend-val{font-weight:600;font-variant-numeric:tabular-nums}.legend-pct{color:var(--muted);font-size:12px;text-align:end;font-variant-numeric:tabular-nums}.sw{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.sw-line{height:3px;width:14px;border-radius:2px}.sbars{display:grid;gap:4px}.sbars-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:8px}.sbars-legend>span{display:inline-flex;align-items:center;gap:6px}.sbar-row{display:grid;grid-template-columns:minmax(80px,150px) minmax(0,1fr) 34px;gap:10px;align-items:center;background:none;border:0;padding:4px 6px;border-radius:6px;cursor:pointer;text-align:start}.sbar-row:hover:not(:disabled){background:var(--surface-2)}.sbar-row:disabled{cursor:default}.sbar-label{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbar-track{display:flex;gap:2px;height:14px;background:var(--surface-2);border-radius:4px;overflow:hidden}.sbar-seg{height:100%;border-radius:3px;transition:width .5s ease;min-width:3px}.sbar-val{font-size:12.5px;font-weight:600;text-align:end;font-variant-numeric:tabular-nums}.trend{position:relative;min-width:0;overflow:hidden}.trend svg{display:block;max-width:100%}.trend .grid{stroke:var(--line);stroke-dasharray:2 4}.trend .baseline{stroke:var(--line-strong)}.trend .axis{fill:var(--muted);font-size:10.5px;font-family:var(--f-body)}.trend .hover-band{fill:var(--surface-2)}.chart-tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;box-shadow:var(--shadow);font-size:12px;min-width:140px;z-index:5}.chart-tip-title{font-weight:600;margin-bottom:4px}.chart-tip-line{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;color:var(--muted)}.chart-tip-line b{color:var(--fg);font-variant-numeric:tabular-nums}.activity{list-style:none;padding:0;margin:0}.activity li{display:grid;grid-template-columns:82px 108px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.activity li:last-child{border-bottom:0}.activity .kind{justify-self:start}.act-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.activity li{grid-template-columns:auto 1fr}.act-sum{grid-column:1 / -1;white-space:normal}}.buckets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:860px){.buckets{grid-template-columns:repeat(2,minmax(0,1fr))}}.bucket{text-align:start;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:14px 16px;cursor:pointer;border-top:3px solid var(--line-strong);transition:box-shadow .15s,border-color .15s}.bucket:hover{box-shadow:var(--shadow)}.bucket.on{outline:2px solid var(--accent);outline-offset:-1px}.bucket-bad{border-top-color:var(--bad)}.bucket-warn{border-top-color:var(--cyan)}.bucket-accent{border-top-color:var(--accent)}.bucket-n{font-family:var(--f-display);font-size:28px;font-weight:650;font-variant-numeric:tabular-nums}.bucket-bad .bucket-n{color:var(--bad)}.bucket-label{font-weight:600}.bucket-help{font-size:12px;color:var(--muted)}.grid-tracker{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}@media(max-width:960px){.grid-tracker{grid-template-columns:minmax(0,1fr)}}.party-lights ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.pl-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;border:0;padding:7px 8px;border-radius:6px;cursor:pointer;text-align:start;font-size:13px}.pl-row:hover{background:var(--surface-2)}.pl-row.on{background:var(--accent-soft);font-weight:600}.pl-counts{display:inline-flex;gap:4px}.pl-counts span{min-width:24px;text-align:center;font-size:11.5px;font-weight:600;border-radius:4px;padding:0 4px;font-variant-numeric:tabular-nums}.n-red{background:var(--bad-soft);color:var(--bad)}.n-amber{background:var(--warn-soft);color:var(--warn)}.n-green{background:var(--good-soft);color:var(--good)}.overlay{position:fixed;inset:0;z-index:100;background:#04142780;display:flex;animation:fade .18s ease}.overlay-modal{align-items:center;justify-content:center;padding:20px var(--gutter-r) 20px var(--gutter)}.overlay-drawer{justify-content:flex-end}@keyframes fade{0%{opacity:0}}.panel{background:var(--surface);color:var(--fg);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);max-height:100%;min-width:0}.panel-modal{width:min(560px,100%);border-radius:14px;max-height:calc(100vh - 40px);animation:pop .2s ease}.panel-modal.panel-wide{width:min(820px,100%)}.panel-drawer{width:min(680px,100vw);height:100%;animation:slide .24s cubic-bezier(.2,.8,.2,1);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}@keyframes pop{0%{transform:scale(.97);opacity:0}}@keyframes slide{0%{transform:translate(40px);opacity:0}}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.panel-body{padding:18px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.panel-foot{display:flex;gap:8px;align-items:center;padding:12px 20px;border-top:1px solid var(--line);flex-wrap:wrap}.drawer-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.tabs button{background:none;border:0;padding:8px 12px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.tabs button.on{color:var(--fg);border-bottom-color:var(--accent)}.count{background:var(--surface-2);border-radius:99px;padding:0 7px;font-size:11px}.inline-panel{border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line)}.tone-good{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}.tone-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.timeline{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:0}.timeline li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:2px 12px;padding:9px 0;border-bottom:1px solid var(--line)}.timeline .t-by{grid-column:2}.t-date{color:var(--muted);font-size:12px}.trail h4{margin-bottom:6px}.toasts{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));inset-inline-start:calc(18px + env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:8px;z-index:200;max-width:calc(100vw - 36px)}.toast{display:flex;align-items:center;gap:9px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-lg);font-size:13px;animation:pop .2s ease}.toast-ok .icon{color:#5fd3a2}.toast-err{background:#7d1f1f}.toast-info .icon{color:#7fd0f2}.savebar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);border-radius:12px;padding:10px 14px;z-index:20}.list-edit ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.list-edit li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.list-edit input{min-height:32px;padding:4px 8px}.cam-grid{display:grid;gap:14px}.cam-grid.cols-1{grid-template-columns:minmax(0,1fr)}.cam-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:860px){.cam-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cam-grid.cols-2,.cam-grid.cols-3{grid-template-columns:minmax(0,1fr)}}.cam-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0}.feed{position:relative;aspect-ratio:16 / 9;max-width:100%;background:#061a30;color:#e6eef7;overflow:hidden}.feed canvas{width:100%;height:100%;display:block}.feed-big{aspect-ratio:auto;flex:1}.feed-off{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:repeating-linear-gradient(135deg,#111a2a 0 12px,#0d1524 12px 24px);color:#9aa6b8}.feed-osd{position:absolute;top:0;inset-inline:0;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;font-size:11.5px;background:linear-gradient(rgba(0,0,0,.55),transparent);text-shadow:0 1px 2px rgba(0,0,0,.6)}.osd-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cam-clock{white-space:nowrap}.feed-tag{position:absolute;bottom:8px;inset-inline-start:10px;font-size:10.5px;font-weight:600;letter-spacing:.08em;background:#25a9e0eb;color:#1b1408;padding:2px 7px;border-radius:4px}@keyframes blink{50%{opacity:.25}}.cam-meta{display:flex;align-items:center;gap:10px;padding:10px 12px}.cam-meta>div{flex:1}.cam-status{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:99px;white-space:nowrap}.cs-online{background:var(--good-soft);color:var(--good)}.cs-offline{background:var(--bad-soft);color:var(--bad)}.cs-maintenance{background:var(--warn-soft);color:var(--warn)}.feed video{width:100%;height:100%;display:block;object-fit:contain;background:#000}.feed .video-hidden{visibility:hidden;position:absolute;inset:0}.feed-live-idle{gap:6px;padding:16px;text-align:center}.feed-live-idle .feed-msg{max-width:46ch;color:#c4d4e6}.feed-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#e6eef7;background:#04142759;font-size:13px}.osd-right{display:inline-flex;gap:6px;align-items:center}.live-badge{background:#d62f2f;color:#fff;font-weight:700;font-size:10.5px;letter-spacing:.08em;padding:1px 7px;border-radius:4px;text-shadow:none}.play-pill{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:4px;text-shadow:none;background:#ffffff29;color:#fff}.play-pill.tone-live{background:#1fa86bd9}.play-pill.tone-busy{background:#1d5295e6}.play-pill.tone-warn{background:#25a9e0eb;color:#09233f}.play-pill.tone-bad{background:#d62f2fe6}.feed-tag-real{background:#1d5295eb;color:#fff}.feed-controls{position:absolute;bottom:6px;inset-inline-end:8px;display:flex;align-items:center;gap:8px;color:#e6eef7}.feed-controls .btn{background:#041427bf;color:#fff;border-color:#ffffff40}.cam-tile-full{position:fixed;inset:0;z-index:150;border-radius:0;display:flex;flex-direction:column;background:#000;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.cam-tile-full .feed{flex:1;aspect-ratio:auto}.cam-tile-full .cam-meta{background:#061a30;color:#e6eef7}.section-title{font-family:var(--f-display);font-size:16px;font-weight:600;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.source-pick{border:0;padding:0;margin:0;display:grid;gap:8px}.source-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer}.source-opt.on{border-color:var(--accent);background:var(--accent-soft)}.source-opt input{margin-top:3px}.src-tag{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:99px;white-space:nowrap}.src-demo{background:var(--warn-soft);color:var(--warn)}.src-ezviz,.src-hls{background:var(--accent-soft);color:var(--accent)}.err-list{margin:0;padding-inline-start:18px;display:grid;gap:4px}.txt-good{color:var(--good)}.cam-full{position:fixed;inset:0;z-index:150;background:#000;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.cam-full .feed{flex:1;aspect-ratio:auto}.cam-full-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;color:#e6eef7;background:#061a30;flex-wrap:wrap}.msg{max-width:92%;padding:10px 14px;border-radius:12px;display:flex;flex-direction:column;gap:8px;min-width:0}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.suggest{display:flex;gap:6px;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:none}.steps{padding-inline-start:18px;margin:6px 0 0;display:grid;gap:6px;color:var(--muted)}.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-cards .card{display:flex;flex-direction:column;gap:4px}@media(max-width:860px){.role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.role-cards{grid-template-columns:minmax(0,1fr)}}.version{font-family:var(--f-mono);font-size:10.5px;color:var(--navy-muted);margin-inline-start:6px}.no-anim *,.no-anim *:before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.feed-status{background:linear-gradient(160deg,#0f2c4d,#061a30);aspect-ratio:auto;min-height:230px}.status-body{position:relative;min-height:230px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:40px 18px 34px;color:#e6eef7}.status-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-main b{font-family:var(--f-display);font-size:22px}.status-dot{width:14px;height:14px;border-radius:50%;background:#5f7a99;box-shadow:0 0 0 4px #ffffff14}.sd-online{background:#2fbf7f;box-shadow:0 0 0 4px #2fbf7f38}.sd-offline{background:#e25555;box-shadow:0 0 0 4px #e2555538}.status-src{font-size:12px;color:#93acc8}.status-meta{display:grid;gap:3px;font-size:12.5px;color:#c4d4e6}.status-err{color:#ffb4a8}.is-stale .status-main b{opacity:.75}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.status-actions .btn:not(.btn-primary){background:#ffffff14;color:#fff;border-color:#ffffff40}.steps-list{margin:0;padding-inline-start:20px;display:grid;gap:6px}.handoff a.btn{text-decoration:none}@media(max-width:560px){.status-body{padding-top:34px;gap:8px}.status-main b{font-size:18px}}.logo-box{display:inline-grid;place-items:center;flex:none}.logo-box img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.logo-side{width:52px;height:64px}.logo-hero{width:112px;height:140px}.logo-preview{width:120px;height:140px}.brand-btn{background:none;border:0;color:inherit;cursor:pointer;text-align:start;width:100%;border-radius:10px;font:inherit}.nav-count-muted{background:var(--sidebar-raise);color:var(--navy-fg);font-weight:500}.project-card-side{margin:2px 0 14px;padding:10px;border-radius:10px;background:var(--sidebar-raise);border-inline-start:3px solid var(--brand-cyan)}.project-card-side .nav-group-label{padding:0 0 4px}.ps-name{color:#fff;font-family:var(--f-display);font-weight:600;font-size:15px;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card-side select{margin-top:8px;width:100%;max-width:100%;background:var(--sidebar-sunk);color:var(--navy-fg);border-color:color-mix(in srgb,var(--navy-muted) 40%,transparent);font-size:12.5px;text-overflow:ellipsis}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;overflow:hidden}.crumb{background:none;border:0;padding:2px 0;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}button.crumb:hover{color:var(--accent);text-decoration:underline}.crumb-on{color:var(--fg);font-weight:600;cursor:default}.crumb-sep{color:var(--line-strong);flex:none}@media(max-width:720px){.crumbs .crumb:not(.crumb-on),.crumbs .crumb-sep{display:none}}.role-ctl{display:inline-flex;align-items:center;gap:8px}.role-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:99px;white-space:nowrap;border:1px solid var(--line)}.rb-admin{color:var(--accent);background:var(--accent-soft);border-color:transparent}.rb-viewer{color:var(--muted)}.preview-toggle{gap:5px;white-space:nowrap}.home-page{gap:18px}.home-head{align-items:center}.h-section{font-size:18px}.search-sm{flex:0 1 240px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card{display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow)}.project-card.is-archived{opacity:.85;border-style:dashed}.pc-actions{display:flex;align-items:center;gap:6px;margin-top:auto}.pc-open{flex:1;justify-content:center}.pc-admin{display:inline-flex;gap:2px}.icon-btn.danger{color:var(--bad)}.scope-note{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 11px;border-radius:99px;width:fit-content}.scope-global{background:var(--accent-soft);color:var(--accent)}.scope-project{background:color-mix(in srgb,var(--cyan-ink) 16%,transparent);color:color-mix(in srgb,var(--cyan-ink) 70%,var(--fg))}.identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}.identity-logo{display:flex;flex-direction:column;gap:10px;max-width:260px}@media(max-width:640px){.identity{grid-template-columns:1fr}}.grid-2.tight{gap:14px;align-items:start}.pos-cell{min-width:150px}.pos-select{max-width:190px;text-overflow:ellipsis}.pos-name{overflow-wrap:anywhere}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0}.detail-list>div{min-width:0}.detail-list .span-2{grid-column:1 / -1}.detail-list dt{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.detail-list dd{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.btn-danger-text{color:var(--bad)}select{text-overflow:ellipsis}.theme-dark-only{display:none!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-dark-only{display:block!important}:root:not([data-theme=light]) .theme-light-only{display:none!important}}:root[data-theme=dark] .theme-dark-only{display:block!important}:root[data-theme=dark] .theme-light-only{display:none!important}.brand{padding-bottom:16px}.project-card-side{margin:0 0 16px}.ps-archived{display:inline-block;margin-inline-start:6px;font-size:10.5px;font-family:var(--f-body);font-weight:600;color:var(--brand-cyan);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.live-clock{white-space:nowrap;color:var(--fg);font-variant-numeric:tabular-nums;padding:3px 9px;border-radius:99px;border:1px solid var(--line)}.dash-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:start}.dash-id{display:flex;gap:20px;align-items:center;min-width:0}.project-logo{flex:none;display:grid;place-items:center;height:104px;max-width:170px}.project-logo img{display:block;max-height:104px;max-width:170px;width:auto;height:auto;object-fit:contain}.project-logo-empty{width:92px;height:92px;border-radius:50%;border:1.5px solid var(--line-strong);color:var(--muted);font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.04em}.dash-info{min-width:0;display:flex;flex-direction:column;gap:4px}.dash-title{font-size:clamp(20px,2.4vw,28px);letter-spacing:.02em;overflow-wrap:anywhere;line-height:1.15}.dash-project-name{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--fg);overflow-wrap:anywhere}.dash-facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:2px 0 0}.dash-facts>div{display:flex;gap:6px;align-items:baseline;min-width:0}.dash-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.dash-facts dd{margin:0;font-size:13.5px;overflow-wrap:anywhere}.dash-filter-card{padding:14px 18px}.dash-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:12px;align-items:end}.dash-filter{min-width:0}.dash-filter select,.dash-filter input{width:100%;min-width:0;height:38px;box-sizing:border-box}.dash-filter input[aria-invalid=true]{border-color:var(--bad)}.dash-clear{height:38px}@media(max-width:1100px){.dash-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.dash-header{grid-template-columns:1fr}.dash-id{align-items:flex-start}.project-logo,.project-logo img{max-height:72px;height:72px;max-width:110px}.project-logo-empty{width:64px;height:64px;font-size:17px}.dash-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.wx{width:232px;border-radius:16px;padding:12px 14px 10px;color:#eef3fb;background:linear-gradient(160deg,#1d5295,#10335e 55%,#09233f);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.wx-top{display:flex;justify-content:space-between;align-items:center}.wx-place{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-main{display:flex;align-items:center;justify-content:space-between}.wx-temp{font-family:var(--f-display);font-size:40px;font-weight:500;line-height:1.05;font-variant-numeric:tabular-nums}.wx-unit{font-size:18px;vertical-align:top;margin-inline-start:1px;opacity:.85}.wx-cond{font-size:13px;font-weight:600}.wx-meta{display:flex;gap:10px;font-size:11.5px;opacity:.85}.wx-foot{font-size:10.5px;opacity:.7;margin-top:4px}.wx-foot a{color:inherit}.wx-empty{background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:none}.wx-msg{font-size:12.5px;color:var(--muted);margin:6px 0 2px}.wx-empty .linklike{align-self:flex-start}@media(max-width:720px){.wx{width:100%}}.count-pill{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 7px;margin-inline-start:6px;border-radius:99px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--muted);vertical-align:middle}.count-pill.bad{background:var(--bad-soft);color:var(--bad)}.urgent-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.urgent-row{width:100%;display:grid;grid-template-columns:auto 108px minmax(0,1fr) minmax(0,160px) auto 120px;gap:12px;align-items:center;text-align:start;background:var(--surface-2);border:1px solid transparent;border-radius:8px;padding:7px 10px;cursor:pointer;color:var(--fg);font:inherit;font-size:13px}.urgent-row:hover{border-color:var(--accent)}.urgent-id{font-size:12px;color:var(--accent)}.urgent-desc,.urgent-party{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.urgent-due{text-align:end;white-space:nowrap}.urgent-foot{display:flex;justify-content:flex-end;margin-top:8px}@media(max-width:860px){.urgent-row{grid-template-columns:auto auto minmax(0,1fr) auto}.urgent-party,.urgent-due{display:none}}.stat-chip{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-size:13px;color:var(--muted)}.stat-chip b{font-family:var(--f-display);font-size:20px;color:var(--fg)}.emp-table td{vertical-align:middle}.emp-name{font-weight:600}.emp-email{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.emp-email:hover{text-decoration:underline}.emp-status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.emp-active{color:var(--good);background:var(--good-soft)}.emp-inactive{color:var(--muted);background:var(--surface-2)}.row-inactive td{color:var(--muted)}.docs-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.docs-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}.docs-text{flex:1 1 320px;min-width:0}.docs-url{overflow-wrap:anywhere;color:var(--muted);margin-top:6px}.logo-previews{display:flex;gap:10px}.logo-preview-tile{width:112px;height:132px;border-radius:10px;display:grid;place-items:center;padding:10px;box-sizing:border-box;border:1px solid var(--line)}.logo-preview-tile img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview-tile.on-dark{background:var(--navy)}.logo-preview-tile.on-light{background:#fff}.project-logo-tiles{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.project-logo-tile{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.project-logo-tile .logo-preview-tile{width:150px;height:110px}.topbar-meta{flex-wrap:nowrap}.crumbs{flex:0 1 auto}@media(max-width:1480px){.crumbs,.store-badge .sb-text{display:none}}@media(max-width:640px){.live-clock{display:none}}.brand.brand-btn{justify-content:center;padding:6px 6px 18px}.logo-side{width:132px;height:96px}.nav-item .nav-dash-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;letter-spacing:.02em}.wx-stale{filter:saturate(.75)}.wx-warn{color:#9fe0fa;font-weight:600}.welcome-overlay{z-index:120}.welcome-modal{position:relative;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;background:var(--navy);color:var(--navy-fg);border:1px solid var(--navy-2);border-radius:16px;padding:26px 26px 22px;box-shadow:var(--shadow-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.welcome-modal .logo-side{width:110px;height:80px}.welcome-modal h2{color:#fff;font-size:20px;margin:4px 0 0}.welcome-intro{margin:0;line-height:1.5}.welcome-sub{margin:4px 0 0;font-weight:600;color:#fff}.welcome-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;text-align:start;width:100%;max-width:300px}.welcome-list li{position:relative;padding-inline-start:22px}.welcome-list li:before{content:"";position:absolute;inset-inline-start:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--cyan-ink)}.welcome-btn{margin-top:10px;width:100%;max-width:300px;justify-content:center;height:42px;font-size:14.5px}.welcome-x{position:absolute;top:10px;inset-inline-end:10px;color:var(--navy-muted)}.welcome-x:hover{color:#fff;background:var(--navy-2)}.order-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}.order-row{display:grid;grid-template-columns:auto 28px minmax(0,1.2fr) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;background:var(--surface-2);border:1px solid transparent;cursor:grab}.order-row.dragging{opacity:.5}.order-row.drop-target{border-color:var(--accent)}.order-grip{color:var(--muted);letter-spacing:-2px;user-select:none}.order-n{font-variant-numeric:tabular-nums;color:var(--muted);text-align:end}.order-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-pos{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-btns{display:inline-flex;gap:2px}@media(max-width:560px){.order-row{grid-template-columns:auto 24px minmax(0,1fr) auto}.order-pos{display:none}}.logo-box img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.logo-box{display:inline-flex;align-items:center;justify-content:center}.logo-box img{width:auto;height:auto;max-width:100%;max-height:100%}.order-list{max-height:min(56vh,520px);overflow-y:auto;padding-inline-end:4px}.perf-overview{padding:16px 18px 14px}.perf-overview .card-head{margin-bottom:10px}.po-title{font-family:var(--f-display);letter-spacing:.08em;text-transform:uppercase;font-size:13.5px}.po-meta{flex:1 1 auto}.po-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.po-kpi{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2);min-width:0;display:flex;flex-direction:column;gap:4px}.po-score{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 10%,var(--surface-2)),var(--surface-2))}.po-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}.po-value{font-family:var(--f-display);font-size:30px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:38px}.kpi-await{font-family:var(--f-body);font-size:14px;font-weight:600;color:var(--muted)}.po-var.bad b{color:var(--bad)}.po-var.good b{color:var(--good)}.po-alert{margin-top:10px;width:100%;text-align:start;display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--bad) 45%,transparent);background:var(--bad-soft);color:var(--bad);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.po-draft{margin-top:8px}@media(max-width:900px){.po-grid{grid-template-columns:1fr}.po-value{font-size:26px}}.health-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-body);font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:99px}.hb-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.hb-good{background:var(--good-soft);color:var(--good)}.hb-warn{background:var(--warn-soft);color:var(--warn)}.hb-bad{background:var(--bad-soft);color:var(--bad)}.count-pill.warn{background:var(--warn-soft);color:var(--warn)}.pf-name{min-width:170px}.pf-notes{min-width:170px;width:100%;font-size:12.5px}.num-in{width:78px;text-align:end}.src-chip{display:inline-block;margin:4px 6px 0 0;padding:3px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line)}.stack-tight{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.bar-mini{display:block;height:4px;border-radius:2px;margin-top:4px;margin-inline-start:auto;width:80px;background:linear-gradient(90deg,var(--accent) var(--w),var(--surface-2) var(--w))}.pchart{margin:0}.pchart svg{width:100%;height:auto;display:block}.pc-grid{stroke:var(--line);stroke-width:1}.pc-zero{stroke:var(--muted);stroke-width:1}.pc-tick{fill:var(--muted);font-size:11px;font-family:var(--f-body)}.pc-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:4px}.pc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:4px;vertical-align:middle}.sev{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:6px}#perf-param-tabs{align-self:flex-start}#perf-editor input.num-in{width:84px!important;min-width:0!important;flex:none}#perf-alert-table td.num{width:110px}.dash-wx-group{display:flex;align-items:stretch;gap:12px}.aclock{width:150px;border-radius:16px;padding:10px 12px 9px;color:#eef3fb;background:linear-gradient(160deg,#1d5295,#10335e 55%,#09233f);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.aclock-face{width:104px;height:104px;display:block}.ac-rim{fill:none;stroke:color-mix(in srgb,var(--brand-cyan) 70%,transparent);stroke-width:2}.ac-dial{fill:#04142761;stroke:#ffffff14;stroke-width:1}.ac-tick{stroke:#eef3fb59;stroke-width:.8}.ac-tick-major{stroke:#eef3fbd9;stroke-width:1.8;stroke-linecap:round}.ac-num{fill:#eef3fbd9;font-family:var(--f-display);font-size:9.5px;font-weight:600}.ac-hour{stroke:#fff;stroke-width:3.6;stroke-linecap:round}.ac-min{stroke:#dfe8f6;stroke-width:2.4;stroke-linecap:round}.ac-sec{stroke:#25a9e0;stroke-width:1.1;stroke-linecap:round}.ac-hub{fill:#25a9e0;stroke:#09233f;stroke-width:1}.aclock-cap{display:flex;flex-direction:column;align-items:center;line-height:1.2}.aclock-digital{font-family:var(--f-display);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.aclock-zone{font-size:10.5px;opacity:.72}@media(max-width:720px){.dash-wx-group{flex-direction:column;align-items:stretch}.aclock{width:100%;flex-direction:row;justify-content:flex-start;gap:14px;padding:10px 14px}.aclock-face{width:72px;height:72px}.aclock-cap{align-items:flex-start}}.app{transition:grid-template-columns .22s ease}.brand.brand-btn{padding:2px 6px 6px}.logo-side{width:100%;height:112px}.logo-mark{width:48px;height:50px}.side-toggle{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);flex:none}.side-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface)}.side-collapsed .side-toggle{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}:root[dir=rtl] .side-toggle .icon{transform:scaleX(-1)}.pf-short,.ps-compact{display:none}@media(min-width:961px){.app.side-collapsed{grid-template-columns:76px minmax(0,1fr)}.side-collapsed .sidebar{padding-inline:10px;overflow-x:hidden}.side-collapsed .brand.brand-btn{padding:8px 0 14px;justify-content:center}.side-collapsed .nav-label,.side-collapsed .nav-group-label,.side-collapsed .sidebar-foot,.side-collapsed .pf-full{display:none}.side-collapsed .pf-short{display:inline}.side-collapsed .proto-flag{margin-inline:0;padding:4px 2px;font-size:10px}.side-collapsed .nav-group{margin-bottom:8px}.side-collapsed .nav-group+.nav-group{border-top:1px solid color-mix(in srgb,var(--brand-soft) 16%,transparent);padding-top:8px}.side-collapsed .nav-item{justify-content:center;padding:10px 0;position:relative}.side-collapsed .nav-item .icon{width:20px;height:20px}.side-collapsed .nav-count{position:absolute;top:3px;inset-inline-end:6px;margin:0;padding:0 5px;font-size:10px;line-height:15px}.side-collapsed .ps-compact{display:grid;place-items:center;width:100%;height:42px;margin:0 0 12px;border-radius:10px;cursor:pointer;background:var(--sidebar-raise);color:#fff;border:0;border-inline-start:3px solid var(--brand-cyan);font-family:var(--f-display);font-weight:700;font-size:12.5px;letter-spacing:.02em;overflow:hidden}.side-collapsed .ps-compact:hover{filter:brightness(1.15)}}@media(max-width:960px){.side-toggle{display:none}}.lang-switch{min-width:40px;height:34px;padding:0 10px;border-radius:99px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.lang-switch:hover{border-color:var(--accent);color:var(--accent)}.lang-switch:lang(ar){font-family:"IBM Plex Sans Arabic",var(--f-body)}:root[dir=rtl] .flip-rtl{transform:scaleX(-1)}.po-title{font-family:var(--f-display);letter-spacing:0;text-transform:none;font-size:15px}:root[dir=rtl] *:not([lang=en]):not([lang=en] *),:root[dir=rtl] *:not([lang=en]):before,:root[dir=rtl] *:not([lang=en]):after{letter-spacing:0!important}:root[dir=rtl] h1,:root[dir=rtl] h2,:root[dir=rtl] h3,:root[dir=rtl] h4,:root[dir=rtl] .dash-project-name,:root[dir=rtl] .ps-name,:root[dir=rtl] .po-value,:root[dir=rtl] .kpi-value{font-family:"IBM Plex Sans Arabic",var(--f-display)}:root[dir=rtl] h1{font-weight:700}:root[dir=rtl] h2,:root[dir=rtl] h3{font-weight:600}:root[dir=rtl] .tbl th,:root[dir=rtl] .mini,:root[dir=rtl] .eyebrow,:root[dir=rtl] .nav-group-label,:root[dir=rtl] .kpi-label,:root[dir=rtl] .po-label,:root[dir=rtl] .dash-facts dt{font-size:12px}:root[dir=rtl] body{line-height:1.6}.mono,.num,.kpi-value,.po-value,.wx-temp,.count-pill,.nav-count,.live-clock{unicode-bidi:isolate}:root[dir=rtl] .num,:root[dir=rtl] .tbl th.num{text-align:end}.prio-select.prio-critical{color:#fff;background:var(--bad);border-color:var(--bad)}.prio-select option{color:initial;background:var(--surface);font-weight:400}.wx-src{white-space:nowrap}.spacer{flex:1 1 auto}.banner-good{background:var(--good-soft);color:var(--good)}.banner-bad{background:var(--bad-soft);color:var(--bad)}.banner ul{margin:4px 0 0;padding-inline-start:18px}.file-btn{cursor:pointer;position:relative}.file-btn.is-disabled{opacity:.55;pointer-events:none}.dpr-storage{display:flex;gap:6px;align-items:flex-start}.dpr-storage .icon{flex:none;margin-top:2px}.dpr-picker{gap:10px 14px}.dpr-picker select{min-width:280px;max-width:100%}.dpr-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 9px 2px 7px;border-radius:99px;white-space:nowrap}.dpr-st-draft{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.dpr-st-review{background:var(--warn-soft);color:var(--warn)}.dpr-st-approved{background:var(--good-soft);color:var(--good)}.dpr-freq{display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.02em;padding:1px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.dk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.dk{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2);min-width:0;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.dk:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:transparent}.dk-good:before{background:var(--good)}.dk-warn:before{background:var(--warn)}.dk-bad:before{background:var(--bad)}.dk-good .dk-value{color:var(--good)}.dk-bad .dk-value{color:var(--bad)}.dk-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}.dk-value{font-family:var(--f-display);font-size:26px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums;min-height:30px;display:flex;align-items:center}.dk-value.dk-date{font-size:20px}.dk-sub{font-size:12px;color:var(--muted)}.dpr-source{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:12px;color:var(--muted)}.dpr-source a{color:var(--accent)}.dpr-filters{gap:10px 14px;margin-bottom:4px}.dpr-filters input[type=search]{min-width:220px}.dpr-sec .card-head h3{gap:8px}.row-flag td{background:var(--warn-soft)}.tbl-total td{font-weight:600;border-top:2px solid var(--line)}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--surface-2)}.tbl .sub-row>td{background:var(--surface-2);padding:6px 10px 12px}.tbl-inner{width:100%;border-collapse:collapse;font-size:12.5px}.tbl-inner th,.tbl-inner td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:start}.tbl-inner .num{text-align:end}.row-actions{white-space:nowrap}.pa-bars{display:flex;flex-direction:column;gap:14px}.pa-label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:4px}.pa-line{display:grid;grid-template-columns:64px minmax(0,1fr) 92px;gap:8px;align-items:center;font-size:12px}.pa-k{color:var(--muted)}.pa-track{height:8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.pa-fill{display:block;height:100%;border-radius:4px}.pa-planned .pa-fill{background:color-mix(in srgb,var(--c-open) 55%,transparent)}.pa-actual .pa-fill{background:var(--accent)}.pa-v{text-align:end;font-variant-numeric:tabular-nums;font-weight:600}.blk-cols{margin:4px 0 8px;overflow-x:auto}.blk-cols svg{width:100%;min-width:520px;height:150px;display:block}.bc-actual{fill:var(--accent)}.bc-plan{stroke:var(--warn);stroke-width:2}.bc-lab{font-size:8px}.lg{display:inline-block;width:12px;height:8px;border-radius:2px;margin-inline-start:6px}.lg-actual{background:var(--accent)}.lg-plan{height:2px;background:var(--warn)}.dpr-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted)}.dpr-steps li{display:inline-flex;align-items:center;gap:6px}.dpr-steps li.done{color:var(--good);font-weight:600}.ds-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:11px}.dpr-steps li.done .ds-n{background:var(--good-soft)}.dpr-fs{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 14px;margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}.dpr-fs>legend{font-family:var(--f-display);font-weight:600;font-size:14px;padding:0 6px}.dpr-fs h4{font-family:var(--f-display);font-size:14px;margin:0}.dpr-fs:disabled input,.dpr-fs:disabled select{opacity:.85}.dpr-sec-ed{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:10px}.dpr-sec-ed>summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tbl-edit td{padding:3px 4px}.tbl-edit input{width:100%;min-width:64px;padding:4px 6px;min-height:30px;font-size:12.5px}.tbl-edit td:first-child input{min-width:140px}.num-in{display:inline-flex;align-items:center;gap:4px;width:100%;min-width:0}.num-in input{width:100%;min-width:56px;text-align:end;font-variant-numeric:tabular-nums}.num-in.has-error input{border-color:var(--bad)}.num-suffix{color:var(--muted);font-size:12px}.dpr-ed-foot{width:100%}.dpr-hist ul{margin:6px 0 0;padding-inline-start:18px}.overlay-drawer .panel-drawer.panel-wide{width:min(980px,100vw)}.w-unit{min-width:48px!important}.dpr-card{padding:16px 18px 14px}.dpr-card .card-head{margin-bottom:10px}.dpr-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dpr-card-grid .dk-value{font-size:22px;min-height:26px}.dpr-card-await{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--muted);padding:8px 0;margin:0}.ph-strip{display:flex;flex-wrap:wrap;gap:8px}.ph-thumb{display:block;width:120px;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);padding:0;cursor:pointer}span.ph-thumb{cursor:default}.ph-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ph-missing{display:grid;place-items:center;height:100%;font-size:11px;color:var(--muted);padding:6px;text-align:center}.gal-filters .inline{gap:8px 12px}.gal-filters input[type=search]{min-width:220px;flex:1 1 220px}.gal-filters select{width:auto;min-width:150px}.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.gal-card{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s ease,transform .15s ease}.gal-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.gal-card .ph-thumb{width:100%;border:0;border-radius:0}.gal-card figcaption{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.gal-cap{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-tags{display:flex;flex-wrap:wrap;gap:4px}.gal-tag{font-size:11px;padding:1px 8px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.gal-tag-rep{background:var(--accent-soft);color:var(--accent);border-color:transparent}.lb-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px}.lb-body{display:grid;place-items:center;background:#061a30;border-radius:10px;min-height:280px;overflow:hidden}.lb-img{max-width:100%;max-height:66vh;object-fit:contain;display:block}.lb-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0;font-size:13px}.lb-dl dt{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding-top:2px}.lb-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.lb-side{display:flex;flex-direction:column;gap:12px;min-width:0}.lb-foot{width:100%}.lb-prev .icon{transform:scaleX(-1)}[dir=rtl] .lb-prev .icon{transform:none}.up-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px;border:1.5px dashed var(--line);border-radius:var(--r);cursor:pointer;color:var(--muted);text-align:center;font-size:13px}.drop:hover{border-color:var(--accent);color:var(--accent)}.up-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.up-list li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center}.up-list img{width:64px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.up-list input{width:100%}@media(max-width:1100px){.dpr-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.dk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-layout,.up-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.dpr-card-grid,.dk-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-value{font-size:20px}.dpr-picker select{min-width:0;width:100%}.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}body{font-weight:400}h1{font-weight:700;letter-spacing:-.015em}h2,h3,.card-head h3,.section-title{font-weight:600}.nav-item{font-weight:500}.btn{font-weight:600}.field-label,.mini,.kpi-label,.dk-label{font-weight:500}.kpi-value,.po-value,.dk-value,.bucket-n{font-weight:700}.monitra-logo{display:inline-flex;align-items:center;justify-content:center;line-height:0}.monitra-logo img{display:block;width:100%;height:auto}.ml-sm{width:172px}.ml-md{width:240px}.ml-lg{width:min(360px,70vw)}.ml-tone-auto .ml-img-dark{display:none}:root[data-theme=dark] .ml-tone-auto .ml-img-light{display:none}:root[data-theme=dark] .ml-tone-auto .ml-img-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ml-tone-auto .ml-img-light{display:none}:root:not([data-theme=light]) .ml-tone-auto .ml-img-dark{display:block}}.sidebar .monitra-logo.ml-sidebar{display:block;width:100%;max-width:196px;margin:0 auto;padding:6px 4px 2px}.ml-sidebar img{display:block;width:100%;height:auto}.monitra-mark{display:block;height:auto}.brand.brand-btn{justify-content:center;padding:4px 4px 14px;margin-bottom:2px;border-radius:10px}.brand.brand-btn:hover{background:color-mix(in srgb,var(--brand-cyan) 6%,transparent)}.brand.brand-btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:3px}.owner-line{display:flex;align-items:center;gap:10px;margin:0;color:#c4d4e6;font-size:13.5px;font-weight:500;letter-spacing:.01em}.owner-line img{width:24px;height:24px;object-fit:contain;flex:none}.side-collapsed .owner-line{justify-content:center;margin-inline:0}.side-collapsed .owner-line .ol-text{display:none}.nav-item.nav-soon{opacity:.55;cursor:not-allowed}.nav-item.nav-soon:hover{background:none}.nav-soon-tag{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-soft);border:1px solid rgba(175,198,222,.4);border-radius:99px;padding:1px 7px}.side-collapsed .nav-soon-tag{position:absolute;top:2px;inset-inline-end:4px;padding:1px 3px;border:0}.side-collapsed .nav-soon-tag .nst-text{display:none}.monitra-splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:radial-gradient(110% 85% at 50% 40%,#ffffff 0%,var(--brand-cloud) 58%,#e3ecf6 100%);animation:ms-in .35s ease both}.ms-field{position:absolute;inset:-40px;opacity:.55;pointer-events:none;background-image:radial-gradient(circle,color-mix(in srgb,var(--brand-soft) 85%,transparent) 1.2px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:radial-gradient(60% 55% at 50% 45%,#000 0%,transparent 100%);mask-image:radial-gradient(60% 55% at 50% 45%,#000 0%,transparent 100%);animation:ms-drift 6s linear infinite}.ms-stage{--tx: 0px;--ty: 0px;position:relative;width:min(420px,74vw);display:flex;flex-direction:column;transform:translate3d(var(--tx),var(--ty),0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.ms-stage img{display:block;width:100%;height:auto;user-select:none}.ms-ring{position:absolute;left:50%;top:27%;width:46%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--brand-cyan);transform:translate(-50%,-50%) scale(.2);opacity:0;pointer-events:none;animation:ms-ring 1.5s cubic-bezier(.15,.7,.3,1) .05s forwards}.ms-ring-2{border-color:var(--brand-blue);animation-delay:.32s}.ms-sym-wrap{position:relative}.ms-sym{clip-path:circle(0% at 50% 55%);transform:scale(.9);animation:ms-iris .95s cubic-bezier(.2,.85,.25,1) .18s forwards}.ms-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;animation:ms-sheen .9s ease-out .85s forwards}.ms-word-wrap{position:relative}.ms-word{clip-path:inset(0 100% 0 0);animation:ms-wipe .7s cubic-bezier(.55,.05,.25,1) .78s forwards}.ms-scan{position:absolute;top:6%;bottom:6%;left:0;width:2px;border-radius:2px;background:var(--brand-cyan);box-shadow:0 0 14px 2px color-mix(in srgb,var(--brand-cyan) 60%,transparent);opacity:0;animation:ms-scan .7s cubic-bezier(.55,.05,.25,1) .78s forwards}.ms-tag-wrap{position:relative}.ms-tag-base{visibility:hidden}.ms-tag-seg{position:absolute;inset:0;opacity:0;transform:translateY(8px);animation:ms-rise .5s cubic-bezier(.2,.8,.2,1) forwards}.ms-progress{position:absolute;left:50%;bottom:max(36px,7vh);width:120px;height:2px;border-radius:2px;transform:translate(-50%);background:color-mix(in srgb,var(--brand-soft) 55%,transparent);overflow:hidden}.ms-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--brand-blue),var(--brand-cyan));transform-origin:left;transform:scaleX(0);animation:ms-prog 2.3s linear forwards}.monitra-splash.ms-leave{animation:ms-out .48s cubic-bezier(.4,0,.2,1) forwards}.monitra-splash.ms-leave .ms-stage{transform:translate3d(0,-14px,0) scale(1.03);filter:blur(2px);transition:transform .48s ease,filter .48s ease}@keyframes ms-in{0%{opacity:0}}@keyframes ms-out{to{opacity:0;visibility:hidden}}@keyframes ms-drift{to{transform:translate3d(26px,26px,0)}}@keyframes ms-ring{20%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}@keyframes ms-iris{to{clip-path:circle(75% at 50% 55%);transform:none}}@keyframes ms-sheen{0%{opacity:1;background-position:120% 0}to{opacity:1;background-position:-60% 0}}@keyframes ms-wipe{to{clip-path:inset(0 0 0 0)}}@keyframes ms-scan{0%{opacity:1;left:0}92%{opacity:1;left:100%}to{opacity:0;left:100%}}@keyframes ms-rise{to{opacity:1;transform:none}}@keyframes ms-prog{to{transform:scaleX(1)}}.ms-reduced .ms-field,.ms-reduced .ms-ring,.ms-reduced .ms-sheen,.ms-reduced .ms-scan{display:none}.ms-reduced .ms-sym,.ms-reduced .ms-word,.ms-reduced .ms-tag-seg{animation:none;clip-path:none;opacity:1;transform:none}.ms-reduced .ms-tag-seg{clip-path:none!important}.ms-reduced .ms-progress span{animation-duration:.7s}@media(prefers-reduced-motion:reduce){.monitra-splash,.monitra-splash.ms-leave{animation-duration:.2s}.monitra-splash.ms-leave .ms-stage{transform:none;filter:none}.ms-stage{transition:none}}.tbl th{color:var(--muted)}.tbl tbody tr:hover td{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}.msel{position:relative;min-width:0}.msel-btn{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;cursor:pointer;text-align:start}.msel-btn:hover,.msel.open .msel-btn{border-color:var(--accent)}.msel-btn[data-count]:not([data-count="0"]){border-color:var(--accent);background:var(--accent-soft)}.msel-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msel-chev{transform:rotate(90deg);flex:none;color:var(--muted)}.msel-pop{position:absolute;z-index:60;top:calc(100% + 4px);inset-inline-start:0;min-width:240px;max-width:min(340px,90vw);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-direction:column;gap:6px;text-transform:none;letter-spacing:0;font-weight:400}.msel-q{width:100%}.msel-acts{display:flex;justify-content:space-between;padding:0 4px}.msel-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.msel-opt{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--fg)}.msel-opt:hover{background:var(--surface-2)}.msel-opt input{accent-color:var(--accent)}.msel-none{padding:6px}.filter-row .msel{min-width:170px}.emp-epms td{vertical-align:middle;padding-block:12px}.emp-cell{display:flex;align-items:center;gap:12px;min-width:220px}.emp-avatar{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:600;font-size:13px;color:#fff;background:linear-gradient(140deg,hsl(calc(var(--h) * 1deg) 45% 42%),var(--brand-blue));box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line)}.emp-id{display:flex;flex-direction:column;min-width:0}.emp-epms .emp-name{font-weight:600;color:var(--accent)}.emp-epms .emp-email{font-size:12.5px;color:var(--muted);text-decoration:none}.emp-epms .emp-email:hover{text-decoration:underline;color:var(--accent)}.emp-pos,.emp-dept,.emp-mgr{font-weight:500}.role-pill{display:inline-flex;padding:3px 12px;border-radius:99px;font-size:12.5px;font-weight:500;border:1px solid transparent}.role-admin{background:var(--accent-soft);color:var(--accent)}.role-viewer{background:var(--cyan-soft);color:var(--cyan)}.emp-acts{white-space:nowrap;text-align:end}.icon-btn.icon-danger{color:var(--bad)}.icon-btn.icon-danger:hover{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad)}.emp-epms .emp-status.emp-active{font-weight:600}.dpr-scope-note{display:flex;gap:6px;align-items:flex-start;padding:8px 10px;border-radius:8px;margin:0}.dpr-scope-note.sc-project{background:var(--accent-soft);color:var(--fg)}.dpr-scope-note.sc-contractor{background:var(--cyan-soft);color:var(--fg)}.dpr-fs-wrap{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:14px}.scope-tag{display:inline-flex;margin-top:3px;font-size:11px;font-weight:600;padding:1px 8px;border-radius:99px}.st-project{background:var(--accent-soft);color:var(--accent)}.st-contractor{background:var(--cyan-soft);color:var(--cyan)}.cx-scope{margin:0 0 12px;color:var(--muted)}.cx-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 18px;margin:14px 0 0;font-size:13px}.cx-dates dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.cx-dates dd{margin:0 0 6px;font-weight:600}.hl{display:inline-flex;font-size:12px;font-weight:600;padding:1px 9px;border-radius:99px;background:var(--surface-2);color:var(--muted)}.hl-bad{background:var(--bad-soft);color:var(--bad)}.hl-good{background:var(--good-soft);color:var(--good)}.dk-value .hl{font-size:14px;padding:3px 12px}.dpr-card-cx{margin-top:12px;border-top:1px dashed var(--line-strong);padding-top:10px}.dpr-card-cx ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.dpr-card-cx li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:13px}.dcc-head{margin:0}.dcc-vals{font-variant-numeric:tabular-nums}.pdf-photos{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ph-pick{position:relative;width:110px;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;border:2px solid var(--line);cursor:pointer}.ph-pick.on{border-color:var(--accent)}.ph-pick img{width:100%;height:100%;object-fit:cover;display:block}.ph-pick input{position:absolute;top:6px;inset-inline-start:6px;accent-color:var(--accent)}.identity-logo .check{white-space:normal;align-items:flex-start}@media(max-width:640px){.check{white-space:normal}}.mh-hero{--mx: 70%;--my: 40%;--px: 0px;--py: 0px;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:center;border-radius:18px;padding:clamp(20px,3vw,34px);color:#eaf2fb;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--hero-a) 0%,var(--hero-b) 58%,var(--hero-c) 100%);border:1px solid var(--hero-line)}:root{--hero-a: #09233f;--hero-b: #0f3460;--hero-c: #1d5295;--hero-line: transparent}:root[data-theme=dark]{--hero-a: #0b2440;--hero-b: #0a2a4c;--hero-c: #123f73;--hero-line: #1b3a5e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--hero-a: #0b2440;--hero-b: #0a2a4c;--hero-c: #123f73;--hero-line: #1b3a5e}}.mh-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;transition:background-position .3s;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(37,169,224,.22),transparent 60%),radial-gradient(600px circle at 100% 0%,rgba(175,198,222,.12),transparent 55%)}.mh-copy{min-width:0;display:flex;flex-direction:column;gap:10px}.mh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--brand-soft)}.mh-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-cyan);box-shadow:0 0 #25a9e099;animation:mh-ping 2.4s ease-out infinite}.mh-title{display:flex;flex-wrap:wrap;column-gap:.28em;font-family:var(--f-display);font-weight:700;font-size:clamp(26px,3.4vw,42px);line-height:1.08;letter-spacing:-.015em;color:#fff;text-align:start}:root[dir=rtl] .mh-title{justify-content:flex-end}.mh-word{display:inline-block;color:#eaf2fb6b;transition:color .45s ease,transform .45s ease}.mh-word.on{color:#fff;transform:translateY(-1px)}.mh-word.on .mh-sep{color:var(--brand-cyan)}.mh-sep{color:inherit;transition:color .45s}.mh-sub{color:#c9d8ea;font-size:14px;max-width:52ch}.mh-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.mh-pillar{display:flex;align-items:flex-start;gap:10px;text-align:start;padding:11px 12px;border-radius:12px;cursor:pointer;color:#eaf2fb;font:inherit;background:#ffffff0d;border:1px solid rgba(175,198,222,.22);transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}.mh-pillar:hover{transform:translateY(-2px)}.mh-pillar.on{background:#25a9e024;border-color:#25a9e0bf;box-shadow:0 8px 24px #04142759}.mh-pillar:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.mh-pillar-icon{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#ffffff14;color:var(--brand-soft);transition:background .25s,color .25s}.mh-pillar.on .mh-pillar-icon{background:var(--brand-cyan);color:#09233f}.mh-pillar-text{display:flex;flex-direction:column;min-width:0;gap:2px}.mh-pillar-text b{font-size:13.5px;font-weight:600}.mh-pillar-text span{font-size:11.5px;line-height:1.35;color:#b9cbe0}.mh-visual{min-width:0;align-self:stretch;display:grid;place-items:center;transform:translate3d(var(--px),var(--py),0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.mh-hero{--rx: 0deg;--ry: 0deg}.mh-sym-stage{position:relative;width:min(100%,300px);aspect-ratio:1 / .86;display:grid;place-items:center;perspective:900px}.mh-orb{position:absolute;inset:6% 8% 12%;border-radius:50%;background:radial-gradient(closest-side,rgba(37,169,224,.3),rgba(29,82,149,.14) 55%,transparent 76%);filter:blur(8px);animation:mh-breathe 7s ease-in-out infinite;pointer-events:none}.mh-sym-tilt{position:relative;width:74%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.8,.2,1);will-change:transform}.mh-sym-float{animation:mh-float 9s ease-in-out 1.8s infinite}.mh-sym-wrap{position:relative;opacity:0;transform:translateY(14px) scale(.92);filter:blur(6px) drop-shadow(0 10px 26px rgba(37,169,224,.25));animation:mh-sym-reveal 1.6s cubic-bezier(.2,.8,.2,1) .2s forwards}.mh-sym{display:block;width:100%;height:auto;user-select:none}.mh-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);background-size:280% 100%;background-position:135% 0;animation:mh-sweep-light 10s ease-in-out 2.2s infinite}.mh-floor{position:absolute;bottom:4%;left:22%;right:22%;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(37,169,224,.28),transparent);filter:blur(4px);animation:mh-floor 9s ease-in-out 1.8s infinite;pointer-events:none}@keyframes mh-sym-reveal{to{opacity:1;transform:none;filter:blur(0) drop-shadow(0 10px 26px rgba(37,169,224,.25))}}@keyframes mh-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes mh-floor{0%,to{opacity:.9;transform:scaleX(1)}50%{opacity:.55;transform:scaleX(.88)}}@keyframes mh-breathe{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.03)}}@keyframes mh-sweep-light{0%{background-position:135% 0}28%,to{background-position:-35% 0}}.mh-reduced .mh-sym-wrap{opacity:1;transform:none;filter:drop-shadow(0 10px 26px rgba(37,169,224,.25))}.mh-reduced .mh-sheen{display:none}.mh-reduced .mh-sym-tilt{transform:none;transition:none}@media(prefers-reduced-motion:reduce){.mh-sym-wrap{opacity:1;transform:none;filter:drop-shadow(0 10px 26px rgba(37,169,224,.25))}.mh-sheen{display:none}.mh-sym-tilt{transform:none}}@keyframes mh-ping{0%{box-shadow:0 0 #25a9e08c}80%,to{box-shadow:0 0 0 8px #25a9e000}}.mh-reduced .mh-visual{transform:none;transition:none}.mh-reduced *,.mh-reduced *:before{animation:none!important}@media(prefers-reduced-motion:reduce){.mh-hero *,.mh-hero *:before{animation:none!important;transition:none!important}.mh-visual{transform:none}}@media(max-width:980px){.mh-hero{grid-template-columns:minmax(0,1fr)}.mh-visual{order:-1}.mh-sym-stage{width:min(100%,230px)}}@media(max-width:640px){.mh-pillars{grid-template-columns:minmax(0,1fr);gap:8px}.mh-pillar{padding:9px 10px}.mh-sym-stage{width:min(100%,180px)}}.project-card{gap:12px}.pc-identity{height:104px;flex:none;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 4px 12px;border-bottom:1px solid var(--line);overflow:hidden}.pc-logo{display:flex;align-items:center;justify-content:center;height:84px;width:100%}.pc-logo img{display:block;max-height:84px;max-width:min(100%,260px);width:auto;height:auto;object-fit:contain;margin-inline:auto}.pc-name{text-align:center;max-width:100%;font-family:var(--f-display);font-size:20px;font-weight:700;line-height:1.25;color:var(--fg);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-info{display:grid;gap:8px;margin:0}.pc-info>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline}.pc-info dt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pc-info dd{margin:0;font-size:14px;color:var(--fg);overflow-wrap:anywhere}.pc-archived{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-strong);border-radius:6px;padding:1px 8px}.emp-reordering tbody tr{cursor:grab}.emp-ord-h,.emp-ord{width:54px;white-space:nowrap}.emp-ord .order-grip{margin-inline-end:6px}.emp-ord-row.dragging{opacity:.5}.emp-ord-row.drop-target td{box-shadow:inset 0 2px 0 var(--brand-cyan)}.ml-sidebar .ml-inner{display:flex;flex-direction:column;width:100%}.ml-sidebar .ml-by{align-self:flex-end;margin-top:-1px;margin-right:calc(.8% - .22em);font-family:var(--f-display);font-size:9.5px;font-weight:600;letter-spacing:.22em;line-height:1.2;text-transform:uppercase;color:color-mix(in srgb,var(--brand-soft) 88%,transparent);white-space:nowrap}.lang-dd{position:relative;display:inline-flex}.lang-trigger{height:32px;display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 9px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lang-trigger:hover,.lang-dd.open .lang-trigger{background:var(--surface-2);color:var(--fg);border-color:color-mix(in srgb,var(--brand-cyan) 45%,var(--line))}.lang-trigger img,.lang-opt img{width:20px;height:15px;border-radius:3px;object-fit:cover;display:block;box-shadow:0 0 0 1px color-mix(in srgb,var(--fg) 12%,transparent)}.lang-chev{transition:transform .18s ease}.lang-dd.open .lang-chev{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);inset-inline-start:50%;transform:translate(-50%);z-index:80;list-style:none;margin:0;padding:4px;display:flex;flex-direction:column;gap:2px;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);animation:lang-pop .14s ease-out}[dir=rtl] .lang-menu{transform:translate(50%)}@keyframes lang-pop{0%{opacity:0;margin-top:-4px}to{opacity:1;margin-top:0}}.lang-opt{width:36px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer;opacity:.85}.lang-opt:hover{opacity:1;background:var(--surface-2)}.lang-opt.on{opacity:1;background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--brand-cyan)}.lang-trigger:focus-visible,.lang-opt:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.theme-toggle{width:32px;height:32px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}.theme-toggle:hover{background:var(--surface-2)}@media(prefers-reduced-motion:reduce){.lang-menu{animation:none}.lang-chev{transition:none}}.dpr-find{flex:1 1 200px;min-width:180px;max-width:300px}@media(max-width:640px){.topbar{flex-wrap:wrap;row-gap:8px}.topbar .crumbs{display:none}.topbar-meta{order:10;flex:1 1 100%;flex-wrap:wrap;gap:8px}.lang-trigger{height:30px;padding:0 6px 0 7px}.theme-toggle{width:30px;height:30px}}.card,.page>section,.page>article,.page>div,.settings-grid>*,.form-grid>*{min-width:0}.btn{max-width:100%}.btn>span{overflow:hidden;text-overflow:ellipsis}.form-grid .check,.card .check{white-space:normal;min-width:0}.viewer-soon{position:relative;border-radius:16px;isolation:isolate}.vs-skeleton{display:flex;flex-direction:column;gap:18px;filter:blur(5px) saturate(.9);user-select:none;pointer-events:none}.vs-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.vs-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vs-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:1080px){.vs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.vs-grid2{grid-template-columns:minmax(0,1fr)}}.vs-line{display:block;height:9px;border-radius:5px;background:color-mix(in srgb,var(--brand-soft) 45%,var(--surface-2))}.vs-line.strong{height:12px;background:color-mix(in srgb,var(--brand-blue) 35%,var(--surface-2))}.vs-line.w20{width:20%}.vs-line.w30{width:30%}.vs-line.w40{width:40%}.vs-line.w50{width:50%}.vs-line.w60{width:60%}.vs-line.w70{width:70%}.vs-filters{flex-direction:row!important;flex-wrap:wrap;gap:14px!important}.vs-field{flex:1 1 140px;display:flex;flex-direction:column;gap:6px}.vs-box{display:block;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2)}.vs-row{display:block;height:30px;border-radius:8px;background:var(--surface-2)}.vs-donut-wrap{display:flex;align-items:center;gap:22px}.vs-donut{width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--brand-blue) 0 38%,var(--brand-cyan) 0 62%,var(--brand-soft) 0 82%,var(--line) 0);-webkit-mask:radial-gradient(circle,transparent 52%,#000 53%);mask:radial-gradient(circle,transparent 52%,#000 53%);flex:none}.vs-legend{flex:1;display:flex;flex-direction:column;gap:10px}.vs-hbar{display:grid;grid-template-columns:20% 1fr;gap:10px;align-items:center}.vs-hbar .vs-line.w20{width:100%}.vs-bar{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-cyan));opacity:.7}.vs-trend{height:130px;display:flex;align-items:flex-end;gap:8px}.vs-trend i{flex:1;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--brand-cyan) 55%,var(--surface-2))}.vs-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 13px;display:flex;flex-direction:column;gap:8px}.vs-num{display:block;width:46%;height:26px;border-radius:6px;background:color-mix(in srgb,var(--brand-blue) 30%,var(--surface-2))}.vs-frost{position:absolute;inset:-6px;z-index:2;border-radius:18px;display:flex;justify-content:center;align-items:flex-start;padding:70px 16px;background:color-mix(in srgb,var(--bg) 28%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border:1px solid color-mix(in srgb,var(--brand-soft) 30%,transparent)}.vs-badge{position:sticky;top:110px;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 26px;border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.vs-lock{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.vs-soon{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-fg);background:var(--accent);border-radius:99px;padding:2px 10px}.vs-badge h2{font-size:18px}.vs-badge p{color:var(--muted);font-size:13px}.sidebar{--sidebar-radius: 20px;border-start-end-radius:var(--sidebar-radius);border-end-end-radius:var(--sidebar-radius)}@media(max-width:960px){.sidebar{--sidebar-radius: 18px}}.cam-admin{display:inline-flex;gap:2px}.cam-admin .icon-btn{width:30px;height:30px}:root{--al-overdue: #b42323;--al-critical: #e0524f;--al-attention: #1b97cf;--al-ontrack: #1f9a68;--al-done: #8fb9a6;--al-none: #aab3c2;--al-id-bg: #09233f}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--al-overdue: #f07272;--al-critical: #f09a8c;--al-attention: #37b6ea;--al-ontrack: #3dbb88;--al-done: #5f8f7b;--al-none: #5a6880;--al-id-bg: #123a63}}:root[data-theme=dark]{--al-overdue: #f07272;--al-critical: #f09a8c;--al-attention: #37b6ea;--al-ontrack: #3dbb88;--al-done: #5f8f7b;--al-none: #5a6880;--al-id-bg: #123a63}.al-level{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:1px 8px;border-radius:4px;white-space:nowrap;border:1px solid transparent}.al-level:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.al-level.sm{font-size:11px;padding:0 6px}.lv-overdue{background:var(--al-overdue);color:#fff}.lv-overdue:before{background:#fff}.lv-critical{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.lv-attention{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.lv-ontrack{background:var(--good-soft);color:var(--good)}.lv-done{background:var(--surface-2);color:var(--good);border-color:var(--line)}.lv-none{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.al-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:15;box-shadow:var(--shadow)}.al-f{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 150px;max-width:230px}.al-f>span{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.al-f select,.al-f input{min-height:32px!important;padding:4px 8px!important;font-size:13px}.al-f-date{flex:0 1 148px}.al-reset{min-height:32px;flex:none}.al-f-err{flex-basis:100%}@media(max-width:640px){.al-filters{position:static}.al-f{max-width:none;flex:1 1 45%}}.al-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.al-kpi{display:flex;flex-direction:column;gap:1px;padding:10px 14px;border-inline-start:1px solid var(--line)}.al-kpi:first-child{border-inline-start:0}.al-kpi b{font-family:var(--f-display);font-size:24px;font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums}.al-kpi span{font-size:11.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.al-kpi-bad{background:var(--bad-soft)}.al-kpi-bad b{color:var(--bad)}.al-kpi-warn b{color:var(--warn)}@media(max-width:900px){.al-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.al-kpi:nth-child(5){border-inline-start:0}.al-kpi{border-top:1px solid var(--line)}.al-kpi:nth-child(-n+4){border-top:0}}@media(max-width:480px){.al-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.al-kpi:nth-child(odd){border-inline-start:0}.al-kpi:nth-child(-n+4){border-top:1px solid var(--line)}.al-kpi:nth-child(-n+2){border-top:0}}.al-impact{border-inline-start:3px solid var(--cyan)}.al-impact-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.al-impact-stats>div{background:var(--surface-2);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column}.al-impact-stats b{font-family:var(--f-display);font-size:22px;font-variant-numeric:tabular-nums}.al-impact-stats span{font-size:12px;color:var(--muted)}.al-is-bad{background:var(--bad-soft)!important}.al-is-bad b{color:var(--bad)}.al-is-warn b{color:var(--warn)}.al-is-good b{color:var(--good)}.al-resp{margin-top:12px}.al-resp-tbl td.clip{max-width:420px}@media(max-width:860px){.al-impact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.al-chart{position:relative}.al-leg-off{opacity:.45}.al-bars{display:grid;gap:6px}.al-bar-row,.al-axis{display:grid;grid-template-columns:minmax(110px,220px) minmax(0,1fr) 34px;gap:10px;align-items:center}.al-bar-label{background:none;border:0;padding:2px 4px;border-radius:4px;text-align:start;font-size:12.5px;cursor:pointer;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-bar-label:hover{background:var(--surface-2)}.al-bar-label .mono{color:var(--muted);font-size:11px}.al-bar-track{height:22px;background:var(--surface-2);border-radius:4px;overflow:hidden}.al-bar-fill{display:flex;gap:1px;height:100%;transition:width .4s ease}.al-seg{border:0;padding:0;height:100%;min-width:6px;cursor:pointer;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 1px 1px rgba(0,0,0,.25)}.al-seg:hover,.al-seg:focus-visible{filter:brightness(1.1);outline-offset:-2px}.al-bar-val{font-size:12.5px;font-weight:600;text-align:end;font-variant-numeric:tabular-nums}.al-axis-track{position:relative;height:16px;border-top:1px solid var(--line)}.al-axis-track span{position:absolute;top:2px;transform:translate(-50%);font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}.al-axis-track span:first-child{transform:none}.al-tip{transform:translate(-50%,calc(-100% - 6px))}@media(max-width:560px){.al-bar-row,.al-axis{grid-template-columns:92px minmax(0,1fr) 26px;gap:6px}}.al-list-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.al-cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.al-cat.archived{opacity:.8}.al-cat-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px 14px;background:var(--navy);color:var(--navy-fg)}.al-cat-head .btn{background:transparent;color:#fff;border-color:color-mix(in srgb,var(--navy-muted) 60%,transparent)}.al-cat-head .btn:hover{border-color:#fff}.al-cat-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:#fff;cursor:pointer;padding:2px 0;min-width:0;text-align:start}.al-chev{display:inline-block;transition:transform .15s;font-size:18px;line-height:1;color:var(--cyan-ink);width:10px}.al-chev.open{transform:rotate(90deg)}.al-cat-code{background:var(--brand-cyan);color:#09233f;font-weight:600;font-size:12px;padding:1px 7px;border-radius:4px}.al-cat-name{font-family:var(--f-display);font-weight:600;font-size:15.5px}.al-cat-sum{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:12px;color:var(--navy-muted);margin-inline-start:auto}.al-cat-sum b{color:#fff;font-variant-numeric:tabular-nums}.al-sum-bad,.al-sum-bad b{color:#ff9b9b!important}.al-cat-empty{padding:14px 16px;margin:0}.al-cat-body{display:flex;flex-direction:column}.al-sec-heads,.al-action{display:grid;grid-template-columns:38px repeat(3,minmax(0,1fr)) 104px}.al-sec-heads{background:var(--surface-2);border-bottom:1px solid var(--line)}.al-sec-heads span{padding:7px 12px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-inline-start:1px solid var(--line)}.al-sec-heads span:first-child{border-inline-start:0;padding-inline:4px;text-align:center}.al-action{border-bottom:1px solid var(--line-strong)}.al-action:last-child{border-bottom:0}.al-id{background:var(--al-id-bg);color:#fff;display:grid;place-items:center;padding:10px 0;position:relative}.al-id span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-mono);font-weight:500;font-size:12.5px;letter-spacing:.08em;white-space:nowrap}.al-id:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:4px;background:var(--al-none)}.al-act-lv-overdue .al-id:after{background:var(--al-overdue)}.al-act-lv-critical .al-id:after{background:var(--al-critical)}.al-act-lv-attention .al-id:after{background:var(--al-attention)}.al-act-lv-ontrack .al-id:after{background:var(--al-ontrack)}.al-act-lv-done .al-id:after{background:var(--al-done)}.al-secs{display:contents}.al-sec{padding:10px 12px;border-inline-start:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0;transition:opacity .15s,background .15s}.al-sec-title{display:none;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.al-sec.match{background:color-mix(in srgb,var(--accent) 7%,var(--surface));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.al-sec.dim{opacity:.45}.al-sec-empty{justify-content:center;background:repeating-linear-gradient(135deg,transparent 0 8px,var(--surface-2) 8px 16px)}.al-desc{margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}.al-parties{display:flex;flex-wrap:wrap;gap:4px}.al-party{font-size:11.5px;padding:0 7px;border-radius:99px;background:var(--accent-soft);color:var(--fg);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.al-party.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.al-dates{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0 8px;font-size:12px}.al-dates dt{color:var(--muted)}.al-dates dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}.al-sec-foot{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;margin-top:auto;padding-top:2px}.al-timing{font-size:11.5px}.t-bad{color:var(--bad);font-weight:600}.t-warn{color:var(--warn);font-weight:600}.t-good{color:var(--good)}.t-muted{color:var(--muted)}.al-act-side{border-inline-start:1px solid var(--line);padding:10px 8px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--surface-2)}.al-act-meta{display:flex;flex-direction:column;gap:3px}.al-act-tools{display:flex;flex-wrap:wrap;gap:2px;margin-top:auto}@media(max-width:1080px){.al-sec-heads{display:none}.al-action{grid-template-columns:34px minmax(0,1fr)}.al-secs{display:flex;flex-direction:column;grid-column:2}.al-id{grid-row:1 / span 2}.al-sec{border-inline-start:0;border-bottom:1px solid var(--line)}.al-sec-title{display:block}.al-act-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;border-inline-start:0}.al-act-meta{flex-direction:row;align-items:center;gap:8px}.al-act-tools{margin-top:0}}.al-modal .panel-body{gap:14px}.al-ed-sec{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}.al-ed-sec legend{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:0 6px}.al-ed-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:11.5px}.al-pick{display:flex;flex-wrap:wrap;gap:5px}.al-pick .chip{padding:3px 10px;font-size:12px}.al-id-preview{min-height:36px;display:flex;align-items:center;padding:0 10px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-2);font-weight:500}.al-cat-tbl input.al-code-in{width:92px!important;text-transform:uppercase}.al-cat-tbl .icon-btn{width:28px;height:28px}.al-row-arch td{opacity:.65}.al-chart-empty{padding:10px 0}:root[dir=rtl] .al-axis-track span{transform:translate(50%)}:root[dir=rtl] .al-chev:not(.open){transform:scaleX(-1)}.al-act-side .al-level{white-space:normal;line-height:1.35;max-width:100%}@media(min-width:1081px){:root[dir=rtl] .al-sec-heads,:root[dir=rtl] .al-action{grid-template-columns:38px repeat(3,minmax(0,1fr)) 132px}}body.is-public #role-badge,body.is-public .role-ctl,body.is-public .store-badge{display:none!important}.public-gate{cursor:pointer}.login-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#061a308c;cursor:default}.login-card{position:relative;width:100%;max-width:400px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 16px 40px #09233f33}.login-close{position:absolute;top:10px;inset-inline-end:12px;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.login-close:hover{background:var(--surface-2)}.login-logo{display:flex;justify-content:center;margin-bottom:22px}.login-logo .monitra-logo{max-width:180px}.login-title{font-size:20px;font-weight:600;color:var(--fg);margin:0 0 6px}.login-sub{font-size:14px;color:var(--muted);margin:0 0 18px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:14px}.login-input{width:100%;box-sizing:border-box;height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;font-size:15px}.login-input:focus{outline:2px solid var(--accent);outline-offset:1px}.login-code{text-align:center;font-family:IBM Plex Mono,Consolas,monospace;font-size:24px;letter-spacing:10px}.login-btn{width:100%;height:44px;justify-content:center}.login-error{font-size:13px;color:var(--bad, #c0392b);margin:0}.login-note{font-size:13px;color:var(--muted);margin:0}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:2px}.login-link{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}.login-link:disabled{color:var(--muted);cursor:default}.login-foot{text-align:center;font-size:12px;color:var(--muted);margin:20px 0 0}
