@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/ibm-plex-mono-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ui/ibm-plex-sans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-400-arabic.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-500-arabic.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-600-arabic.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Kufi Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/noto-kufi-arabic-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--ui);margin:0}html[dir=rtl] body{font-family:var(--ar);line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}a:hover{color:var(--accent-hover)}bdi{unicode-bidi:isolate}.num{font-variant-numeric:tabular-nums}html[dir=rtl] .num,html[dir=rtl] code,html[dir=rtl] .code{font-family:var(--ui)}.mono{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{inset-inline-start:8px;z-index:100;background:var(--surface);color:var(--ink);border-radius:4px;padding:6px 10px;position:absolute;top:-40px}.skip:focus{top:8px}.app{grid-template:"head head"52px"banner banner""kpi kpi""panel stage"minmax(0,1fr)"bar bar"/380px minmax(0,1fr);height:100dvh;display:grid}header.top{background:var(--head);color:#fff;z-index:20;grid-area:head;align-items:center;gap:16px;min-width:0;padding-inline:16px;display:flex;position:relative}.brand{white-space:nowrap;color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{width:auto;height:26px;display:block}.brand b{letter-spacing:.02em;font-size:14px;font-weight:600}html[dir=rtl] .brand b{letter-spacing:0}.crumbs{min-width:0;overflow:hidden}.crumbs ol{color:#c9d0d3;white-space:nowrap;align-items:center;gap:6px;min-width:0;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li{flex:none;align-items:center;gap:6px;display:flex}.crumbs li:last-child{flex:0 auto;min-width:0;overflow:hidden}.crumbs button{color:#c9d0d3;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:4px 2px}.crumbs button:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.crumbs [aria-current=page]{color:#fff;text-overflow:ellipsis;font-weight:500;overflow:hidden}.crumbs .sep{opacity:.55}.spacer{flex:1}.search{width:min(320px,30vw);position:relative}.search-box{background:#2b2f31;border:1px solid #3a4043;border-radius:6px;align-items:center;gap:8px;height:32px;padding:0 10px;display:flex}.search-box:focus-within{border-color:#6e7a80}.search-box svg{opacity:.7;flex:none}.search input{color:#fff;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:13px}.search input::placeholder{color:#a3adb2}.search kbd{white-space:nowrap;font:11px var(--mono);color:#a3adb2;border:1px solid #4a5154;border-radius:3px;padding:1px 4px}.results{top:calc(100% + 6px);background:var(--surface);min-width:300px;color:var(--ink);border:1px solid var(--line);z-index:40;border-radius:6px;max-height:min(420px,70dvh);margin:0;padding:4px;list-style:none;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 10px 30px #0000002e}.results li{cursor:pointer;border-radius:4px;grid-template-columns:auto 1fr;align-items:baseline;gap:0 10px;padding:7px 10px;display:grid}.results li[aria-selected=true]{background:#e6f0f7}.results .rk{color:var(--ink-3);min-width:54px;font-size:11px}.results .rt{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.results .rc{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:12px;overflow:hidden}.results .empty{color:var(--ink-2);cursor:default;font-size:13px;display:block}.seg{border:1px solid #4a5154;border-radius:6px;flex:none;display:inline-flex;overflow:hidden}.seg button{color:#c9d0d3;background:0 0;border:0;padding:5px 10px;font-size:12px}.seg button[aria-pressed=true]{color:var(--ink);background:#fff}.seg button:focus-visible{outline-offset:-2px}.user{color:#c9d0d3;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.user button{color:#c9d0d3;background:0 0;border:1px solid #4a5154;border-radius:6px;padding:4px 8px;font-size:12px}.user button:hover{color:#fff;border-color:#6e7a80}.banner{border-bottom:1px solid var(--line);grid-area:banner;align-items:center;gap:10px;padding:7px 16px;font-size:13px;display:flex}.banner.stale{color:#6b4600;background:#fdf3dd;border-bottom-color:#f0d9a6}.banner.offline{color:var(--ink-2);background:#eef1f2}.banner svg{flex:none}.kpis{grid-area:kpi;grid-template-columns:repeat(var(--n,5), minmax(150px, 1fr));background:var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin;gap:1px;display:grid;overflow-x:auto}.kpi{background:var(--surface);min-width:0;padding:10px 16px 11px}.kpi .k{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.kpi .v{font:600 24px/1.2 var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px}.kpi .v small{font:500 13px var(--ui);color:var(--ink-2);margin-inline-start:6px}.kpi .s{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.kpi.loading .v{color:var(--line)}.dot{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}aside.panel{background:var(--surface);border-inline-end:1px solid var(--line);overscroll-behavior:contain;grid-area:panel;min-height:0;position:relative;overflow-y:auto}.sheet-handle{display:none}.p-sec{border-bottom:1px solid var(--line);padding:16px 18px}.p-sec.tight{padding-block:12px}.p-sec h2{margin:0;font-size:19px;font-weight:600;line-height:1.3}.p-sec h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;font-size:12px;font-weight:600}html[dir=rtl] .p-sec h3{letter-spacing:0;font-size:13px}.meta{color:var(--ink-2);margin-top:4px;font-size:13px}.titlerow{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.back{color:var(--accent);background:0 0;border:0;align-items:center;gap:4px;margin-bottom:8px;padding:0;font-size:13px;display:inline-flex}.back:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}html[dir=rtl] .flip{transform:scaleX(-1)}.sec-h{text-align:start;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:0;display:flex}.sec-h h3{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin:0;overflow:hidden}.sec-h .sum{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin-inline-start:auto;font-size:12.5px;overflow:hidden}.sec-h .chev{color:var(--ink-3);flex:none;transition:transform .15s}.sec-h[aria-expanded=true] .chev{transform:rotate(90deg)}html[dir=rtl] .sec-h[aria-expanded=false] .chev{transform:rotate(180deg)}.sec-b{margin-top:12px}.mix{background:var(--plan);border-radius:2px;height:10px;margin:12px 0 8px;display:flex;overflow:hidden}.mix i{height:100%;display:block}.mixleg{grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12.5px;display:grid}.mixleg span{align-items:center;gap:7px;display:flex}.mixleg b{font-variant-numeric:tabular-nums;margin-inline-start:auto;font-weight:500}.r-hatch{background:repeating-linear-gradient(45deg, var(--res) 0 4px, #f6d58c 4px 6px)!important}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.stats>div{background:var(--tint);border-radius:4px;min-width:0;padding:6px 8px}.stats b{font-variant-numeric:tabular-nums;font-size:17px;display:block}.stats span{color:var(--ink-2);align-items:center;gap:5px;font-size:11.5px;display:flex}.stats.three{grid-template-columns:repeat(3,1fr)}.stats.two{grid-template-columns:repeat(2,1fr)}.btns{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;line-height:1.3;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);border-color:#b9c3c8}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.btn.pri:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.danger{color:#a03a00;border-color:#e8c3ae}.btn.danger.solid{color:#fff;background:#b04500;border-color:#b04500}.btn.sm{padding:4px 10px;font-size:12.5px}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.linkbtn{color:var(--accent);background:0 0;border:0;padding:0;font-size:12.5px}.linkbtn:hover{text-decoration:underline}.card{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:12px;padding:12px 14px}.card.sel{border-color:var(--ink);box-shadow:0 1px #0000000a}.card .hd{justify-content:space-between;align-items:center;gap:8px;display:flex}.card .code{font:600 16px var(--mono)}.card .x{color:var(--ink-3);background:0 0;border:0;border-radius:4px;padding:2px 4px;font-size:16px;line-height:1}.card .x:hover{color:var(--ink);background:var(--tint)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.available{color:#00664a;background:#ddf1e8}.pill.reserved{color:#7a4f00;background:#fbebc7}.pill.sold{color:#004f7c;background:#d6e8f4}.pill.handed_over{color:#464c51;background:#e6e8ea}.pill.planned{color:#4f5a60;background:#eceae4}.pill.design{color:#66552f;background:#f1ebdd}.pill.construction{color:#2f4e59;background:#e1eaed}.pill.operating{color:#00664a;background:#ddf1e8}.pill.in_use{color:#2f4e59;background:#e1eaed}.pill.idle{color:#4f5a60;background:#eceae4}.pill.maintenance{color:#8f3a00;background:#fbe3d6}.pill.neutral{background:var(--tint);color:var(--ink-2);font-weight:500}.conf{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;display:inline-flex}.conf.unknown{color:#8f3a00}.kv{grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0 0;font-size:13px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;margin:0}.note{color:var(--ink-3);margin-top:8px;font-size:12px}.empty-state{color:var(--ink-2);background:var(--tint);border-radius:5px;padding:10px 12px;font-size:13px}.err{color:#8f3a00;background:#fdeee6;border:1px solid #f3cdb8;border-radius:5px;padding:8px 10px;font-size:13px}.loadbar{background:var(--line);border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.loadbar i{background:var(--slate);width:40%;height:100%;animation:1.1s ease-in-out infinite loadslide;display:block}@keyframes loadslide{0%{transform:translate(-100%)}to{transform:translate(260%)}}html[dir=rtl] .loadbar i{animation-name:loadslide-rtl}@keyframes loadslide-rtl{0%{transform:translate(100%)}to{transform:translate(-260%)}}.rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.row{text-align:start;background:0 0;border:0;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;width:calc(100% + 16px);margin-inline:-8px;padding:7px 8px;display:grid}button.row:hover,.row.link:hover{background:var(--tint)}.row.on{background:#e6f0f7}.row .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden}.row .r{color:var(--ink-2);text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px}.row .s{color:var(--ink-3);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:4px 8px;min-width:0;font-size:12px;display:flex}.row .s>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.site-row .row{width:100%;margin-inline:0}.site-row .open{margin-inline-end:0}.dgroup+.dgroup{margin-top:14px}.dgroup h4{color:var(--ink);justify-content:space-between;gap:8px;margin:0 0 6px;font-size:12.5px;font-weight:600;display:flex}.dgroup h4 span{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:500}.dec{gap:8px;display:grid}.dcard{background:var(--tint);border:1px solid var(--line);border-inline-start:3px solid var(--res);border-radius:4px;padding:8px 10px}.dcard.busy{opacity:.75}.dcard .top{grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;display:grid}.dcard .t{font-size:13px;font-weight:500}.dcard .t a{color:inherit;text-decoration:none}.dcard .t a:hover{color:var(--accent);text-decoration:underline}.dcard .a{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.dcard .n{color:var(--ink-3);grid-column:1/-1;font-size:12px}.dcard .acts{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.dcard .confirm{gap:6px;margin-top:8px;display:grid}.dcard .confirm p{margin:0;font-size:12.5px;font-weight:500}.dcard textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);border-radius:4px;width:100%;min-height:56px;padding:6px 8px;font-size:13px}.dcard textarea[aria-invalid=true]{border-color:#c25100}.dcard .msg{font-size:12.5px}table.towers{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.towers th{color:var(--ink-3);text-align:start;border-bottom:1px solid var(--line);white-space:nowrap;padding:0 6px 6px;font-size:11.5px;font-weight:500}table.towers th button{color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}table.towers th button:hover{color:var(--ink)}table.towers th[aria-sort] button{color:var(--ink);font-weight:600}table.towers td{border-bottom:1px solid var(--tint);padding:5px 6px}table.towers tbody tr{cursor:pointer}table.towers tbody tr:hover td{background:var(--tint)}table.towers tr.on td{background:#e6f0f7}table.towers td button{font-weight:600;font-family:var(--mono);background:0 0;border:0;padding:0;font-size:13px}table.towers .end{text-align:end}.bar{background:var(--plan);border-radius:3px;min-width:60px;height:6px;overflow:hidden}.bar i{background:var(--built);height:100%;display:block}.stagebars{grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;font-size:12.5px;display:grid}.stagebars .bar{height:8px}.stagebars b{font-variant-numeric:tabular-nums;text-align:end;min-width:44px;font-weight:500}.stack{gap:2px;margin-top:10px;display:grid}.stack .fl{font:10.5px/16px var(--mono);color:var(--ink-3);text-align:end;padding-inline-end:4px}.stack .fl.cur{color:var(--ink);font-weight:600}.stack button{border:0;border-radius:1px;min-width:0;height:16px;padding:0}.stack button:hover{outline:1px solid var(--ink);outline-offset:0}.stack button.sel{outline:2px solid var(--ink);outline-offset:-1px}.stack button:focus-visible{outline:2px solid var(--accent);outline-offset:0;z-index:1}main.stage{background:#e9ecec;grid-area:stage;min-width:0;min-height:0;position:relative;overflow:hidden}.stage-fill{position:absolute;inset:0}.tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);z-index:6;border-radius:5px;max-width:260px;padding:7px 10px;font-size:12.5px;position:absolute;box-shadow:0 4px 14px #0000001f}.tip b{font-weight:600;display:block}.stamp{font:11px var(--mono);color:var(--ink-2);pointer-events:none;z-index:5;background:#ffffffe0;border-radius:3px;align-items:center;gap:6px;padding:3px 7px;display:flex;position:absolute;bottom:10px;left:12px}html[dir=rtl] .stamp{font-family:var(--ar)}.live-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;display:inline-block}.live-dot.connecting{background:var(--warn)}.live-dot.offline{background:var(--risk)}.tools{inset-inline-end:12px;z-index:5;justify-items:end;gap:6px;display:grid;position:absolute;top:12px}.nav3d{gap:4px;display:grid}.nav3d button{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);border-radius:5px;place-items:center;display:grid}.nav3d button:hover{border-color:#b9c3c8}.viewseg{border:1px solid var(--line);background:var(--surface);border-radius:6px;display:inline-flex;overflow:hidden}.viewseg button{background:var(--surface);border:0;padding:6px 10px;font-size:12.5px}.viewseg button+button{border-inline-start:1px solid var(--line)}.viewseg button[aria-pressed=true]{background:var(--ink);color:#fff}.stage-msg{inset-inline-start:12px;z-index:5;border:1px solid var(--line);background:#fffffff0;border-radius:5px;max-width:min(420px,100% - 80px);padding:8px 12px;font-size:13px;position:absolute;top:12px}.stage-msg .loadbar{margin-top:6px}.stage-center{text-align:center;color:var(--ink-2);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.tview{background:var(--surface);padding:14px 18px 40px;position:absolute;inset:0;overflow:auto}.tview h2{margin:0 0 10px;font-size:17px}.tfilters{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px;font-size:13px;display:flex}.tfilters select{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:4px 8px}.fchip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;display:inline-flex}.fchip[aria-pressed=false]{opacity:.55}.fchip b{font-variant-numeric:tabular-nums;font-weight:500}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.data caption{text-align:start;color:var(--ink-2);padding-bottom:6px;font-size:12.5px}table.data th{text-align:start;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--surface);white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:500;position:sticky;top:-14px}table.data td{border-bottom:1px solid var(--tint);white-space:nowrap;padding:5px 8px}table.data tbody tr:hover td{background:var(--tint)}table.data tr.on td{background:#e6f0f7}table.data .end{text-align:end}table.data button{font-family:var(--mono);color:var(--accent);background:0 0;border:0;padding:0;font-weight:600}footer.bottombar{background:var(--surface);border-top:1px solid var(--line);flex-wrap:wrap;grid-area:bar;align-items:center;gap:10px 22px;min-width:0;padding:10px 16px;display:flex}.grp{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.layers{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.layers button{background:var(--surface);border:0;border-inline-end:1px solid var(--line);color:var(--ink);padding:6px 12px;font-size:13px}.layers button:last-child{border-inline-end:0}.layers button[aria-pressed=true]{background:var(--ink);color:#fff}.layers button[disabled]{color:var(--ink-3);cursor:not-allowed}.legend{color:var(--ink);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .txt{color:var(--ink-2)}.time{min-width:260px;color:var(--ink-2);flex:1;align-items:center;gap:10px;font-size:12.5px;display:flex}.time input[type=range]{accent-color:var(--ink);flex:1;min-width:80px}.time output{font:500 12.5px var(--mono);min-width:120px;color:var(--ink)}html[dir=rtl] .time output{font-family:var(--ar)}.time .play{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex:none;place-items:center;width:30px;height:30px;display:grid}.time .play[disabled]{opacity:.45;cursor:not-allowed}label.chk{cursor:pointer;color:var(--ink);align-items:center;gap:5px;display:inline-flex}label.chk input{accent-color:var(--ink);margin:0}.ovl-toggle{display:none}.toasts{inset-inline-end:16px;z-index:60;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:76px}.toast{background:var(--ink);color:#fff;border-radius:6px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:13px;display:flex;box-shadow:0 8px 24px #0003}.toast.error{background:#8f3a00}.toast.ok{background:#00573f}.toast p{flex:1;margin:0}.toast button{color:#fff;opacity:.8;background:0 0;border:0;padding:0 2px;font-size:15px;line-height:1.2}.screen{background:var(--bg);grid-template-rows:52px 1fr;min-height:100dvh;display:grid}.screen header.top{grid-area:auto}.screen .box{background:var(--surface);border:1px solid var(--line);border-radius:8px;place-self:center;width:min(440px,100vw - 32px);padding:28px 28px 24px}.screen h1{margin:0 0 8px;font-size:20px;font-weight:600}.screen p{color:var(--ink-2);margin:0 0 16px}.screen .btn.pri{padding:9px 16px;font-size:14px}.screen .dev{margin-top:14px;font-size:12.5px;display:inline-block}@media (width<=860px){.app{--peek:64px;height:calc(100dvh - var(--peek));grid-template:"head""banner""kpi""stage"minmax(0,1fr)"bar"/minmax(0,1fr)}header.top{flex-wrap:wrap;gap:8px 10px;padding-block:8px;padding-inline:12px}.brand b,.spacer,.user{display:none}.crumbs{flex:1 1 0}.crumbs li:not(:nth-last-child(-n+2)),.crumbs li:nth-last-child(2)>.sep{display:none}.search{order:5;width:100%}.kpis{grid-template-columns:repeat(var(--n,5), minmax(118px, 1fr));scroll-snap-type:x mandatory;scrollbar-width:none}.kpi{scroll-snap-align:start;padding:8px 12px}.kpi .v{font-size:19px}footer.bottombar{gap:8px 14px;padding:8px 12px}footer.bottombar .legend{display:none}.time{order:3;min-width:100%}.ovl-toggle{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12.5px;display:inline-flex}.ovl-toggle[aria-expanded=true] .chev{transform:rotate(90deg)}.ovl[data-open=false]>.grp{display:none}.ovl[data-open=true]{flex-basis:100%}.ovl[data-open=true]>.grp{margin-top:8px}aside.panel{inset-inline:0;z-index:30;border-inline-end:0;border-top:1px solid var(--line);height:var(--sheet-h,55dvh);border-radius:12px 12px 0 0;padding-top:0;transition:height .2s;position:fixed;bottom:0;box-shadow:0 -8px 28px #00000024}aside.panel[data-sheet=peek]{--sheet-h:var(--peek);overflow:hidden}aside.panel[data-sheet=half]{--sheet-h:44dvh}aside.panel[data-sheet=full]{--sheet-h:calc(100dvh - 48px)}.sheet-handle{z-index:2;background:var(--surface);border:0;border-radius:12px 12px 0 0;justify-content:center;align-items:center;width:100%;height:28px;display:flex;position:sticky;top:0}.sheet-handle i{background:#c5cdd1;border-radius:2px;width:40px;height:4px}.p-sec{padding:12px 14px}.toasts{bottom:calc(var(--peek,64px) + 12px)}.tools{top:8px;inset-inline-end:8px}.stage-msg{max-width:calc(100% - 70px)}}.hbtn{color:#c9d0d3;white-space:nowrap;background:0 0;border:1px solid #4a5154;border-radius:6px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.hbtn:hover{color:#fff;border-color:#6e7a80}.hbtn[aria-pressed=true]{color:var(--ink);background:#fff;border-color:#fff}.hbtn[disabled]{opacity:.6;cursor:progress}.hbtn .badge{font:600 11px var(--ui);background:var(--res);color:#2a1c00;border-radius:999px;padding:0 6px;line-height:16px}.pill.own-owned{color:#2f4e59;background:#e1eaed}.pill.own-contractor{color:#4f5a60;background:#eceae4}.pill.own-rented{color:#66552f;background:#f1ebdd}.pill.own-leased{color:#33466b;background:#e4e9f2}.basis{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.basis.gps{color:#00573f;background:#eef8f3;border-color:#a9d8c3}.basis.lead_time{color:#2f4e59;border-color:#c3d2d8}.basis.scheduled{color:var(--ink-2)}.live-tag{color:#00573f;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.warn-t{color:#8f3a00}.card .blk{border-top:1px solid var(--tint);margin-top:12px;padding-top:10px}.card .blk h4{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px;font-size:11.5px;font-weight:600}html[dir=rtl] .card .blk h4{letter-spacing:0;text-transform:none;font-size:12.5px}.card .blk h5{color:var(--ink-2);margin:10px 0 4px;font-size:12px;font-weight:600}.kv .sub{color:var(--ink-3)}.row.req.done .t{color:var(--ink-2);font-weight:400}a.row{color:inherit;text-decoration:none}a.row:hover{background:var(--tint);color:inherit}.ptitle{align-items:center;gap:8px;min-width:0;display:inline-flex}.ptitle strong{font-size:15px;line-height:1.3}.micon{color:var(--slate);flex:none}.warnbox{color:#6b4600;background:#fdf3dd;border:1px solid #f0d9a6;border-radius:5px;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;font-size:12.5px;display:flex}.cardstack>.p-sec:first-child{padding-top:14px}.route{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.route>span{align-items:center;gap:4px;min-width:0;display:inline-flex}.route svg{color:var(--ink-3);flex:none}.eta-bar{margin-top:10px}.eta-bar .bar{height:8px}.eta-line{color:var(--ink-2);justify-content:space-between;gap:10px;margin-top:5px;font-size:12.5px;display:flex}.eta-line b{color:var(--ink);font-weight:600}.row.item .t,.row.line .t{align-items:center;gap:8px;display:flex}.row.item .t>span,.row.line .t>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.row.line .t{font-size:13px;font-weight:400}.row .s.lots{gap:4px}.lot.expired{color:#8f3a00;background:#fdeee6;border-color:#f3cdb8}.lot{background:var(--tint);border:1px solid var(--line);color:var(--ink-2);border-radius:3px;padding:0 5px;font-size:11.5px}.row .s.minmax{flex-wrap:nowrap;gap:8px}.row .s.minmax .bar{flex:none;width:70px;min-width:70px;height:5px}.row .s.minmax>bdi{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row.ship .s.prog{flex-wrap:nowrap;gap:8px}.row.ship .s.prog .bar{flex:1;height:4px}table.data tr.click{cursor:pointer}table.data .cellbtn{text-align:start;font:inherit;color:var(--ink);background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}table.data .cellbtn:hover{color:var(--accent);text-decoration:underline}.inv-tools{align-items:center;gap:8px;margin-bottom:8px;display:flex}.filter{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex:1;align-items:center;gap:6px;min-width:0;height:30px;padding:0 8px;display:flex}.filter:focus-within{border-color:var(--accent)}.filter svg{color:var(--ink-3);flex:none}.filter input{background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:13px}.sec-h.static{cursor:default}.rows.inv .row.loc .t{align-items:center;gap:6px;display:flex}.rows.inv .row.loc .chev{color:var(--ink-3);flex:none;transition:transform .15s}.rows.inv .row.loc[aria-expanded=true] .chev{transform:rotate(90deg)}html[dir=rtl] .rows.inv .row.loc[aria-expanded=false] .chev{transform:rotate(180deg)}.rows.lines{border-inline-start:2px solid var(--tint);margin:0 0 6px;margin-inline-start:4px;padding-inline-start:18px}.stage-layer{position:absolute;inset:0}.map-layer.off,.map-layer.off *{visibility:hidden!important}.scene-layer.fades{transition-property:opacity;transition-timing-function:ease}.stage-chips{z-index:6;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;max-width:calc(100% - 140px);display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.stage-chips>*{pointer-events:auto}.hl-chip{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:2px;min-width:0;max-width:420px;padding:3px 4px 3px 10px;font-size:12.5px;display:flex;position:relative;box-shadow:0 4px 14px #0000002e}html[dir=rtl] .hl-chip{padding:3px 10px 3px 4px}.hl-chip .hl-name{color:#fff;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:2px 0;display:inline-flex}.hl-chip .hl-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hl-chip .micon{color:#f6d58c}.hl-chip .dot{width:9px;height:9px}.legend .lgbtn{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;margin:-3px 0;padding:2px 8px;font-size:12.5px;display:inline-flex}.legend .lgbtn:hover{border-color:var(--line);background:var(--tint)}.legend .lgbtn[aria-pressed=false]{opacity:.45}.hl-chip .x{color:#fff;opacity:.8;background:0 0;border:0;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.hl-chip .x:hover{opacity:1;background:#ffffff1f}.editor-dock{inset-inline-start:12px;z-index:7;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--res);border-radius:6px;width:300px;max-height:calc(100% - 60px);padding:10px 12px 12px;position:absolute;top:12px;overflow-y:auto;box-shadow:0 8px 24px #00000024}.ed-h{align-items:center;gap:8px;display:flex}.ed-h h2{margin:0;font-size:14px;font-weight:600}.ed-h .sum{color:var(--ink-2);white-space:nowrap;margin-inline-start:auto;font-size:12px}.ed-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.ed-tools .grow{flex:1}.ed-tools .btn[disabled]{opacity:.45}.ed-list{border-top:1px solid var(--tint);margin-top:12px;padding-top:10px}.ed-list .rows{margin-top:8px}.row.pend{background:var(--tint);width:100%;margin-inline:0;padding:6px 8px}.row.pend.bad{background:#fdeee6}.err-inline{color:#8f3a00;font-size:12px;white-space:normal!important;overflow:visible!important}.inspector{border-top:1px solid var(--tint);margin-top:12px;padding-top:10px}.ins-h{justify-content:space-between;gap:8px;font-size:13px;display:flex}.ins-h span{color:var(--ink-2);font-size:12px}.ins-h i{color:var(--res);font-style:normal}.ins-grid{grid-template-columns:1fr 1fr;gap:6px 8px;margin-top:8px;display:grid}.ins-grid label{color:var(--ink-2);gap:2px;font-size:11.5px;display:grid}.ins-grid input{border:1px solid var(--line);font:12.5px var(--mono);background:var(--surface);text-align:start;border-radius:4px;width:100%;min-width:0;padding:4px 6px}.ins-grid input[aria-invalid=true]{border-color:#c25100}.app[data-editing] header.top{box-shadow:inset 0 -3px 0 var(--res)}.ed-issues{border:1px solid #d55e00;color:#d55e00;background:#fdf1ea;border-inline-start-width:3px;border-radius:4px;margin-top:10px;padding:6px 10px}.ed-issues h3{color:#d55e00;margin:0 0 4px;font-size:12px;font-weight:600}.ed-issues ul{color:#8f3a00;margin:0;padding-inline-start:16px;font-size:12px}.ed-issues b{color:#d55e00;font-weight:600}.roles{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.role{border:1px solid var(--line);background:var(--tint);text-align:start;border-radius:5px;gap:1px;padding:6px 8px;display:grid}.role b{font-variant-numeric:tabular-nums;font-size:17px}.role span{color:var(--ink-2);align-items:center;gap:5px;font-size:11.5px;display:flex}.role i{background:var(--role,var(--slate));border-radius:50%;width:9px;height:9px;display:inline-block}.role:hover{border-color:#b9c3c8}.role[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.role[aria-pressed=true] span{color:#e8ecee}.role-worker{--role:#e69f00}.role-engineer{--role:#0072b2}.role-supervisor{--role:#009e73}.role-security{--role:#d55e00}.role-driver{--role:#6c5b7b}.role-office{--role:#8c9196}.pill.role-worker,.pill.role-engineer,.pill.role-supervisor,.pill.role-security,.pill.role-driver,.pill.role-office{background:color-mix(in srgb, var(--role) 16%, white);color:color-mix(in srgb, var(--role) 70%, black);border:0}button.pill{cursor:pointer}h5.minor{color:var(--ink-2);margin:12px 0 6px;font-size:11.5px;font-weight:600}.zones{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.zones b{color:var(--ink);font-weight:600}.tower-people .row .s.prog .bar{flex:1;height:4px}.ptask .linkbtn{font-size:13px}.plan.behind{color:#a64300;font-weight:600}.plan.ahead{color:#00704f;font-weight:600}.plan.on_plan{color:var(--ink-2)}.plan.unplanned{color:var(--ink-3)}table.data.sched{margin-top:2px}table.data.sched th[scope=row]{color:var(--ink);align-items:center;gap:6px;font-weight:500;display:flex;position:static}table.data.sched thead th{position:static}.modal-back{z-index:80;background:#1d1d1d59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:8px;width:min(420px,100%);padding:20px 22px 18px;box-shadow:0 18px 50px #00000040}.modal h2{margin:0 0 6px;font-size:17px}.modal p{color:var(--ink-2);margin:0;font-size:13.5px}.storybar{inset-inline:12px;z-index:8;color:#fff;background:#1d1d1df0;border-radius:8px;max-width:760px;margin-inline:auto;padding:14px 18px 12px;position:absolute;bottom:40px;box-shadow:0 12px 34px #00000047}.storybar .st-top{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.storybar h2{margin:0;font-size:18px;font-weight:600}.storybar .st-n{font:500 12px var(--mono);color:#c9d0d3}.storybar .st-frozen{color:#a3adb2;margin-inline-start:auto;font-size:11.5px}.storybar p{color:#e8ecee;margin:6px 0 0;font-size:14.5px;line-height:1.55}.storybar .st-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.storybar .st-dots{gap:6px;margin-inline-end:auto;display:flex}.storybar .st-dots button{background:#4a5154;border:0;border-radius:3px;width:22px;height:6px;padding:0}.storybar .st-dots button[aria-current=step]{background:#fff}.storybar .st-dots button:hover{background:#8a9599}.storybar .btn{color:#fff;background:0 0;border-color:#5a6266}.storybar .btn:hover{color:#fff;border-color:#9aa3a7}.storybar .btn.pri{color:var(--ink);background:#fff;border-color:#fff}.storybar .btn[disabled]{opacity:.4}.app[data-story] .stamp{display:none}@media (width<=860px){.hbtn .lbl{display:none}.editor-dock{inset-inline:8px;width:auto;max-height:50%;top:auto;bottom:8px}.storybar{inset-inline:8px;padding:12px 14px 10px;bottom:8px}.storybar h2{font-size:16px}.storybar p{font-size:13.5px}.stage-chips{max-width:calc(100% - 24px);top:52px}}.panel-toggle{inset-inline-start:12px;z-index:7;border:1px solid var(--line);background:var(--surface);height:34px;color:var(--ink);border-radius:5px;align-items:center;gap:2px;padding:0 8px;display:inline-flex;position:absolute;top:12px}.panel-toggle:hover{border-color:#b9c3c8}.flip-x,html[dir=rtl] .panel-toggle .chev{transform:scaleX(-1)}html[dir=rtl] .panel-toggle .chev.flip-x{transform:none}.stage-msg,.editor-dock{inset-inline-start:56px}@media (width>=861px){.app[data-panel=closed]{grid-template-columns:0 minmax(0,1fr)}.app[data-panel=closed] aside.panel{visibility:hidden;border:0;overflow:hidden}}.hbtn.quiet{border-color:#0000}.hbtn.quiet:hover{border-color:#4a5154}@media (width<=1440px){.hbtn.quiet .lbl{display:none}}@media (width<=1366px){.hbtn .lbl{display:none}.search{width:min(280px,26vw)}}@media (width<=1280px){.user span,.search kbd{display:none}}@media (width<=1366px) and (width>=861px){.app{grid-template-columns:340px minmax(0,1fr)}.kpi{padding:8px 12px 9px}.kpi .v{font-size:21px}footer.bottombar{gap:8px 16px;padding:8px 12px}}@media (width<=1100px) and (width>=861px){.app{grid-template-columns:310px minmax(0,1fr)}.kpis{grid-template-columns:repeat(var(--n,5), minmax(130px, 1fr))}.kpi .v{font-size:19px}.crumbs li:not(:nth-last-child(-n+2)),.brand b,footer.bottombar .legend .lgbtn bdi{display:none}.p-sec{padding:14px}}@media (height<=800px) and (width>=861px){.kpi .s{display:none}.p-sec{padding-block:12px}}.err.denied{color:#4f3a00;background:#fdf3dd;border-color:#f0d9a6}.modal.wide{width:min(720px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.modal .hd{justify-content:space-between;align-items:center;gap:8px;display:flex}.modal .x{color:var(--ink-3);background:0 0;border:0;border-radius:4px;padding:4px}.modal .x:hover{color:var(--ink);background:var(--tint)}table.data.credits{margin-top:12px}table.data.credits th[scope=row]{color:var(--ink);white-space:normal;font-weight:600;position:static}table.data.credits td{white-space:normal;vertical-align:top}table.data.credits thead th{position:static}@media (width<=860px){.panel-toggle,.editor-dock{display:none}.stage-msg{inset-inline-start:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
