:root{--gap:12px;--card-w:340px;--top-h:92px;--bar2-h:38px;--table-body-h:max(140px, min(260px, calc(100vh - 420px)));--good:#15784b;--warn:#946000;--bad:#c22f2f;--blue:#2f6fe4;--blue-dark:#1f4fae;--blue-light:#cfe0fb;--yellow:#f5b82e;--ink:#1d2740;--muted:#5d6b86;--card:#fff;--shadow:0 4px 16px #1f4fae29;color:var(--ink);font-family:Noto Sans Thai,Leelawadee UI,Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}html,body,#root{background:#dbe7f5;height:100%;margin:0;overflow:hidden}.app{width:100%;height:100%;position:relative}.app canvas{display:block}.ui-top{top:var(--gap);left:var(--gap);right:var(--gap);pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute}.ui-top>*{pointer-events:auto}.ui-top__right{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.ui-bar2{top:calc(var(--gap) + var(--top-h) + 6px);left:var(--gap);right:calc(var(--gap) + 140px);pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute}.ui-bar2>*{pointer-events:auto}.ui-title{background:var(--card);box-shadow:var(--shadow);color:var(--blue-dark);white-space:nowrap;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.ui-views{background:var(--card);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex}.ui-views__toggle,.ui-view-btn,.ui-live-btn{font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px;line-height:1.2}.ui-views__toggle{color:var(--muted);background:0 0;border:0;font-weight:600}.ui-views__toggle:hover{background:#eef4ff}.ui-view-btn{border:1px solid var(--blue-light);color:var(--blue-dark);background:#fff;font-weight:700}.ui-view-btn:hover{background:#eef4ff}.ui-view-btn--active,.ui-view-btn--active:hover{background:var(--blue);border-color:var(--blue);color:#fff}.ui-views__group{background:#eef4ff;border-radius:9px;align-items:center;gap:3px;padding:2px 3px 2px 2px;display:flex}.ui-views__glabel{color:var(--blue-dark);letter-spacing:.02em;padding:0 4px 0 5px;font-size:11px;font-weight:800}.ui-live-btn{color:#b42323;background:#fff3f3;border:1px solid #f2b8b8;font-weight:700}.ui-live-btn:hover{background:#ffe3e3}.ui-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.ui-clock{flex-direction:column;align-items:flex-start;min-width:96px;line-height:1.15;display:flex}.ui-clock__label{color:var(--muted);font-size:11px}.ui-clock__value{font-variant-numeric:tabular-nums;color:var(--blue-dark);font-size:20px;font-weight:700}.ui-clock__over{color:#b4540a;font-size:11px;font-weight:600}.ui-clock__hours{color:#4b5b70;font-size:11px}.ui-speeds{gap:4px;display:flex}.ui-scenarios{flex-wrap:wrap;align-items:center}.ui-scenarios__label{color:var(--muted);margin-right:2px;font-size:11px}.ui-btn{font:inherit;border:1px solid var(--blue-light);color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:10px;padding:7px 11px;font-size:14px}.ui-btn:hover:not(:disabled){background:#eef4ff}.ui-btn:disabled{opacity:.5;cursor:default}.ui-btn--active{background:var(--blue);color:#fff;border-color:var(--blue)}.ui-btn--active:hover:not(:disabled){background:var(--blue-dark)}.ui-btn--primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}.ui-btn--primary:hover:not(:disabled){background:var(--blue-dark)}.ui-pill{font:inherit;background:var(--card);color:var(--blue-dark);box-shadow:var(--shadow);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.ui-pill:hover{background:#eef4ff}.ui-legend{flex-direction:column;flex:none;align-self:flex-end;align-items:flex-start;gap:6px;display:flex}.ui-legend__body{background:var(--card);width:250px;box-shadow:var(--shadow);border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.35}.ui-legend__title{color:var(--muted);margin:6px 0 3px;font-size:11px;font-weight:700}.ui-legend__title:first-child{margin-top:0}.ui-legend__row{align-items:center;gap:7px;padding:1px 0;display:flex}.ui-legend__chip{border:1px solid #0000001f;border-radius:4px;flex:none;width:14px;height:14px}.ui-legend__arrow{text-align:center;flex:none;width:14px;font-size:13px;line-height:1}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label-layer--off{opacity:0}.zone-label{visibility:hidden;will-change:transform;white-space:nowrap;letter-spacing:.02em;color:var(--blue-dark);border:1px solid var(--blue-light);-webkit-user-select:none;user-select:none;background:#fffffff5;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;line-height:15px;position:absolute;top:0;left:0;box-shadow:0 2px 6px #1f4fae38}.zone-label--in{background:var(--blue);color:#fff;border-color:#fff}.zone-label--out{color:#4a3200;background:#ffd25c;border-color:#fff}.zone-label--staging{border-color:var(--yellow);color:#7a5200;background:#fff8e3;font-weight:600}@media (width<=900px){.ui-legend{display:none}}.ui-kpis{flex:1;grid-template-columns:auto repeat(6,minmax(0,1fr));gap:6px;min-width:0;display:grid}.ui-kpi-switch{background:var(--card);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:3px;padding:3px;display:flex}.ui-kpi-switch__btn{font:inherit;border:1px solid var(--blue-light);color:var(--blue-dark);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;flex:1;padding:2px 6px;font-size:11px;font-weight:700;line-height:14px}.ui-kpi-switch__btn:hover{background:#eef4ff}.ui-kpi-switch__btn--active,.ui-kpi-switch__btn--active:hover{background:var(--blue);border-color:var(--blue);color:#fff}.ui-kpi{background:var(--card);box-shadow:var(--shadow);cursor:help;border-radius:10px;min-width:0;padding:6px 6px 6px 11px;position:relative;overflow:hidden}.ui-kpi:before{content:"";background:#b8c3d6;border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.ui-kpi--good:before{background:var(--good)}.ui-kpi--warn:before{background:#f0a400}.ui-kpi--bad:before{background:var(--bad)}.ui-kpi__label,.ui-kpi__ref,.ui-kpi__sub{white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:15px;overflow:hidden}.ui-kpi__label{color:var(--ink);font-weight:600}.ui-kpi__value{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:20px;font-weight:700;line-height:25px}.ui-kpi--good .ui-kpi__value{color:var(--good)}.ui-kpi--warn .ui-kpi__value{color:var(--warn)}.ui-kpi--bad .ui-kpi__value{color:var(--bad)}.ui-kpi__unit{color:var(--muted);margin-left:3px;font-size:12px;font-weight:600}.ui-kpi__ref{color:var(--blue-dark);font-weight:600}.ui-kpi__sub{color:var(--muted)}@media (width<=1520px){.ui-title__more{display:none}}@media (width<=1200px){.ui-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}:root{--top-h:176px}}@media (width<=640px){.ui-title{display:none}.ui-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}:root{--top-h:360px}}.ui-live-tag__dot{background:#e53935;border-radius:50%;width:9px;height:9px;margin-right:6px;animation:1.4s ease-in-out infinite live-pulse;display:inline-block;box-shadow:0 0 0 3px #e5393538}@keyframes live-pulse{50%{opacity:.35}}.ui-live-tag{top:calc(var(--gap) + var(--top-h) + 6px);left:var(--gap);color:#fff;background:#121a2cc7;border-radius:14px;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex;position:absolute}.ui-live-tag__exit{padding:6px 12px;font-size:13px}.ui-live-title{text-align:center;color:#fff;pointer-events:none;background:#121a2cc7;border-radius:16px;max-width:calc(100vw - 64px);padding:10px 22px 12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0a14284d}.ui-live-title__main{font-size:34px;font-weight:800;line-height:1.2}.ui-live-title__sub{margin-top:4px;font-size:17px;font-weight:600}.ui-live-title__hint{color:#dfe7f5;margin-top:6px;font-size:14px}.ui-card{top:calc(var(--gap) + var(--top-h) + 6px + var(--bar2-h) + 8px);right:var(--gap);max-height:calc(100% - var(--top-h) - var(--bar2-h) - 112px);width:var(--card-w);background:#fffffff5;border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 6px 24px #1f4fae33}.ui-card__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ui-card__kind{color:var(--blue-dark);background:#eaf1ff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.ui-card__title{margin-top:4px;font-size:24px;font-weight:800;line-height:1.15}.ui-card__sub{color:var(--muted);margin-top:2px;font-size:12px}.ui-card__close{font:inherit;border:1px solid var(--blue-light);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;flex:none;font-size:18px;line-height:1}.ui-card__close:hover{background:#eef4ff}.ui-card__status{background:#eef1f6;border-radius:8px;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:700}.ui-card__task{background:#f4f7fc;border-radius:12px;padding:10px 12px}.ui-card__task-label{color:var(--muted);font-size:11px;font-weight:600}.ui-card__task-text{color:var(--blue-dark);margin:2px 0 8px;font-size:14px;font-weight:700;line-height:1.35}.ui-card__task-text--next{color:var(--ink);margin-bottom:0;font-weight:600}.ui-card__section{color:var(--muted);margin-bottom:-4px;font-size:11px;font-weight:700}.ui-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ui-card__metric{border:1px solid #e3e9f3;border-radius:10px;padding:6px 8px}.ui-card__metric-value{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.ui-card__metric-label{color:var(--muted);font-size:11px}.ui-card__rows{flex-direction:column;gap:4px;margin:0;font-size:13px;display:flex}.ui-card__row{border-bottom:1px dashed #e3e9f3;justify-content:space-between;gap:12px;padding-bottom:3px;display:flex}.ui-card__row dt{color:var(--muted);flex:none}.ui-card__row dd{text-align:right;margin:0;font-weight:600}.ui-card__note{color:var(--muted);font-size:11px}.ui-card__follow{width:100%;font-weight:700}.ui-tone--good{color:var(--good)}.ui-card__status.ui-tone--good{background:#e3f6ec}.ui-tone--warn{color:var(--warn)}.ui-card__status.ui-tone--warn{background:#fff3d6}.ui-tone--bad{color:var(--bad)}.ui-card__status.ui-tone--bad{background:#fde6e6}.ui-tone--neutral{color:var(--muted)}.ui-dock{left:var(--gap);right:var(--gap);bottom:var(--gap);pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:absolute}.ui-dock>*{pointer-events:auto}.ui-backlog{background:var(--card);border-radius:14px;flex:1;min-width:0;overflow:hidden;box-shadow:0 4px 18px #1f4fae29}.ui-backlog__bar{flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;display:flex}.ui-backlog__tabs{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.ui-tab{font:inherit;color:var(--blue-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:5px 10px;font-size:13px;font-weight:600}.ui-tab:hover{background:#eef4ff}.ui-tab--active{background:var(--blue);color:#fff}.ui-tab--active:hover{background:var(--blue-dark)}.ui-tab__count{min-width:20px;color:var(--blue-dark);text-align:center;background:#e6edfa;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;display:inline-block}.ui-tab--active .ui-tab__count{background:var(--blue-dark);color:#fff}.ui-tab--alert .ui-tab__count{background:var(--bad);color:#fff}@media (width<=1520px){.ui-tab{padding:5px 6px}}.ui-tab--toggle{color:var(--muted)}.ui-backlog__body{height:var(--table-body-h);border-bottom:1px solid #e3e9f3;overflow:auto}.ui-table{border-collapse:collapse;width:100%;font-size:12px}.ui-table th{color:var(--muted);text-align:left;white-space:nowrap;background:#f4f7fc;padding:5px 8px;font-weight:700;position:sticky;top:0}.ui-table td{white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #eef1f6;max-width:280px;padding:4px 8px;overflow:hidden}.ui-table tbody tr{cursor:pointer}.ui-table tbody tr:hover{background:#eef4ff}.ui-row--bad td:last-child{color:var(--bad);font-weight:700}.ui-row--neutral{color:var(--muted)}.ui-row--selected,.ui-row--selected:hover{background:#dde9ff}.ui-table__more{color:var(--muted);padding:6px 10px;font-size:12px}.ui-table__empty{color:var(--muted);padding:16px;font-size:13px}.ui-toasts{top:calc(var(--gap) + var(--top-h) + 6px + var(--bar2-h) + 8px);left:var(--gap);flex-direction:column;gap:6px;width:340px;display:flex;position:absolute}.ui-toast{border-left:5px solid var(--bad);background:#fff;border-radius:10px;align-items:stretch;display:flex;overflow:hidden;box-shadow:0 4px 16px #d13b3b38}.ui-toast__main{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:7px 10px;display:flex}.ui-toast__main:hover{background:#fff5f5}.ui-toast__title{color:var(--bad);font-size:13px;font-weight:800}.ui-toast__text{color:var(--ink);font-size:12px}.ui-toast__close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:16px}.ui-pill--small{padding:6px 10px;font-size:12px}.ui-pill--custom{color:#8a5a00;background:#fff4d6}.ui-settings{top:calc(var(--gap) + var(--top-h) + 6px + var(--bar2-h) + 8px);right:var(--gap);z-index:5;background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:380px;padding:14px 16px;display:flex;position:absolute;bottom:76px;overflow-y:auto;box-shadow:0 6px 24px #1f4fae33}.ui-settings__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ui-settings__title{margin-top:4px;font-size:20px;font-weight:800}.ui-settings__sub,.ui-settings__note{color:var(--muted);font-size:12px}.ui-settings__fields{flex-direction:column;gap:8px;display:flex}.ui-settings__group{color:var(--blue-dark);letter-spacing:.02em;margin-top:6px;padding:0 2px;font-size:12px;font-weight:800}.ui-field{border:1px solid #e3e9f3;border-radius:10px;padding:7px 10px}.ui-field--changed{border-color:var(--yellow);background:#fffbef}.ui-field__label{font-size:13px;font-weight:700}.ui-field__row{align-items:center;gap:8px;margin:4px 0 2px;display:flex}.ui-field__row input[type=range]{min-width:0;accent-color:var(--blue);flex:1}.ui-field__num{font:inherit;border:1px solid var(--blue-light);width:92px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 6px;font-size:14px}.ui-field__unit{color:var(--muted);min-width:46px;font-size:12px}.ui-field__reset{font:inherit;border:1px solid var(--blue-light);width:30px;height:30px;color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:8px;font-size:16px}.ui-field__reset:disabled{opacity:.4;cursor:default}.ui-field__help{color:var(--muted);font-size:11px;line-height:1.4}.ui-settings__problems{color:var(--bad);background:#fde6e6;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.ui-settings__actions{flex-wrap:wrap;gap:8px;display:flex}.ui-settings__footer{background:#fff;border-top:1px solid #e3e9f3;flex-direction:column;gap:8px;margin:0 -16px -14px;padding:10px 16px 14px;display:flex;position:sticky;bottom:-14px}.ui-card__actions{flex-direction:column;gap:6px;display:flex}.ui-row-btn{font:inherit;border:1px solid var(--blue);color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:7px;padding:2px 8px;font-size:12px;font-weight:700}.ui-row-btn:hover{background:var(--blue);color:#fff}.ui-hud{top:calc(var(--gap) + var(--top-h) + 6px + var(--bar2-h) + 8px);left:var(--gap);width:360px;max-height:calc(100% - var(--top-h) - var(--bar2-h) - 112px);color:#fff;background:#10182adb;border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 6px 24px #0a142859}.ui-hud__tag{color:#10182a;background:#ffd25c;border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:700}.ui-hud__title{font-size:22px;font-weight:800;line-height:1.15}.ui-hud__sub{color:#cfd8ea;font-size:12px}.ui-hud .ui-card__task{background:#fffffff2;border-radius:10px;padding:8px 10px}.ui-hud__task{color:var(--ink);background:#fff;border-radius:10px;padding:8px 10px}.ui-hud__exit{align-self:flex-start}.ui-hud__note{color:#cfd8ea;font-size:11px}:is(.app:has(.ui-backlog--open) .ui-card,.app:has(.ui-backlog--open) .ui-hud){max-height:calc(100% - (var(--gap) + var(--top-h) + 6px + var(--bar2-h) + 8px) - (var(--gap) + 92px + var(--table-body-h) + 8px))}.app:has(.ui-backlog--open) .ui-settings{bottom:calc(var(--gap) + 92px + var(--table-body-h) + 8px)}.ui-hud__end{color:#5c3c00;background:#fff4d6;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.ui-hud__end-text{font-size:14px;font-weight:700}.ui-hud__end .ui-btn{align-self:flex-start}.ui-hud__journey{flex-direction:column;gap:6px;display:flex}.ui-hud__fold{font:inherit;text-align:left;color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:9px;padding:5px 10px;font-size:12px;font-weight:700}.ui-hud__fold:hover{background:#fff3}.ui-hud__journey .ui-timeline{max-height:220px}.ui-hud__actions{flex-wrap:wrap;gap:6px;display:flex}.ui-ride-steps{flex-wrap:wrap;align-items:center;gap:4px 0;margin:4px 0 0;padding:0;font-size:13px;line-height:1.35;list-style:none;display:flex}.ui-ride-steps__item{font-weight:600}.ui-ride-steps__item:first-child{color:#00708f}.ui-ride-steps__item+.ui-ride-steps__item:before{content:"→";color:#8a94a8;margin:0 6px;font-weight:400}.ui-ride-key{vertical-align:middle;border-radius:3px;width:18px;height:5px;display:inline-block}.ui-ride-key--past{background:#ff2f7a}.ui-ride-key--future{background:repeating-linear-gradient(90deg,#22c3e6 0 6px,#0000 6px 9px)}.ui-timeline{max-height:340px;color:var(--ink);background:#fff;border-radius:10px;flex-direction:column;gap:2px;margin:0;padding:6px 8px;list-style:none;display:flex;overflow-y:auto}.ui-timeline__item{border-left:3px solid var(--blue-light);gap:8px;padding:2px 0 2px 10px;font-size:12px;line-height:1.4;display:flex}.ui-timeline__item--order{color:var(--muted);border-left-color:#e3e9f3}.ui-timeline__item--end{border-left-color:var(--muted)}.ui-timeline__item--last{background:#fff0f5;border-left-color:#ff2f7a;font-weight:700}.ui-timeline__time{font-variant-numeric:tabular-nums;color:var(--blue-dark);flex:none;font-weight:700}.ui-fps{top:calc(var(--gap) + var(--top-h) + 6px + 8px);right:var(--gap);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:5;background:#1d2740d1;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute}.ui-code{white-space:nowrap}.ui-loading{pointer-events:none;z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ui-loading--boot{background:#dbe7f5}.ui-loading__card{min-width:280px;max-width:calc(100vw - 2 * var(--gap));background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:12px;padding:14px 18px}.ui-loading__text{color:var(--blue-dark);font-size:15px;font-weight:700}.ui-loading__pct{text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;display:inline-block}.ui-loading__track{background:var(--blue-light);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.ui-loading__fill{background:var(--blue);border-radius:999px;height:100%;transition:width .2s linear}.ui-loading__sub{color:var(--muted);margin-top:8px;font-size:12px}.ui-notice{z-index:21;border:1px solid var(--bad);box-shadow:var(--shadow);color:var(--bad);background:#fdecec;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.ui-scenarios{background:#fff4e0;border:1px solid #f1d49a;border-radius:12px;gap:4px;padding:3px 4px 3px 9px}.ui-scenarios__label{color:#8a5a00;font-weight:700}.ui-btn--scenario{color:#7a4a00;border-color:#f1d49a}.ui-btn--scenario:hover:not(:disabled){background:#ffe9c2}.ui-btn--scenario.ui-btn--active,.ui-btn--scenario.ui-btn--active:hover:not(:disabled){color:#fff;background:#b4540a;border-color:#b4540a}.ui-pill:disabled{opacity:.5;cursor:default}.ui-tab__count--next{color:#8a5a00;background:#fff3d6}.ui-table__section{color:#8a5a00;background:#fff8e6;border-top:1px solid #f1d49a;padding:7px 10px;font-size:12px;font-weight:700;position:sticky;left:0}.app canvas{touch-action:none}html,body{overscroll-behavior:none}html[data-mobile]{--gap:8px;--m-top-h:106px;--m-bar-h:56px;-webkit-tap-highlight-color:transparent}html[data-mobile] .ui-top--m{flex-direction:column;align-items:stretch;gap:6px}html[data-mobile] .ui-kpis--m{align-items:stretch;gap:6px;min-width:0;display:flex;position:relative}html[data-mobile] .ui-kpis--m .ui-kpi-switch{flex-direction:row;flex:none;align-items:stretch}html[data-mobile] .ui-kpis--m .ui-kpi-switch__btn{min-width:40px;min-height:40px;padding:0 8px;font-size:13px}.ui-kpi-strip{scrollbar-width:none;touch-action:pan-x;flex:1;gap:6px;min-width:0;display:flex;overflow-x:auto}.ui-kpi-strip::-webkit-scrollbar{display:none}.ui-kpi-chip{text-align:left;min-width:88px;min-height:46px;font:inherit;cursor:pointer;border:0;flex-direction:column;flex:none;justify-content:center;display:flex}.ui-kpi-chip .ui-kpi__label,.ui-kpi-chip .ui-kpi__value{display:block}.ui-kpi-chip .ui-kpi__value{font-size:17px;line-height:22px}.ui-kpi-chip--open{outline:2px solid var(--blue)}.ui-kpi-pop{z-index:8;background:var(--card);border-left:5px solid #b8c3d6;border-radius:14px;max-height:46vh;padding:10px 14px 12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 24px #1f4fae47}.ui-kpi-pop.ui-kpi--good{border-left-color:var(--good)}.ui-kpi-pop.ui-kpi--warn{border-left-color:#f0a400}.ui-kpi-pop.ui-kpi--bad{border-left-color:var(--bad)}.ui-kpi-pop__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ui-kpi-pop__head .ui-kpi__label{font-size:13px}.ui-kpi-pop__line{color:var(--muted);font-size:13px;line-height:1.4}.ui-kpi-pop__line--ref{color:var(--blue-dark);font-weight:600}.ui-kpi-pop__formula{color:var(--muted);white-space:pre-line;margin-top:6px;font-size:12px;line-height:1.4}.ui-mrow2{align-items:center;gap:6px;min-width:0;display:flex}html[data-mobile] .ui-views--m{scrollbar-width:none;touch-action:pan-x;flex-wrap:nowrap;flex:1;min-width:0;overflow-x:auto}html[data-mobile] .ui-views--m::-webkit-scrollbar{display:none}html[data-mobile] .ui-views--m>*,html[data-mobile] .ui-views--m .ui-views__group>*{flex:none}html[data-mobile] .ui-views--m .ui-views__group{padding:3px}html[data-mobile] .ui-views--m .ui-view-btn,html[data-mobile] .ui-views--m .ui-live-btn{min-height:40px;padding:0 12px}html[data-mobile] .ui-toasts{top:calc(var(--gap) + var(--m-top-h) + 6px);left:var(--gap);right:var(--gap);z-index:6;width:auto}html[data-mobile] .ui-toast:not(:last-child){display:none}html[data-mobile] .ui-toast__main{white-space:nowrap;flex-direction:row;align-items:center;gap:8px;min-width:0;min-height:40px}html[data-mobile] .ui-toast__title{flex:none}html[data-mobile] .ui-toast__text{text-overflow:ellipsis;min-width:0;overflow:hidden}html[data-mobile] .ui-toast__close{min-width:44px;min-height:40px}html[data-mobile] .ui-dock--m{left:var(--gap);right:var(--gap);bottom:var(--gap)}.ui-msheet{background:var(--card);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 -2px 18px #1f4fae33}.ui-msheet__row{min-height:var(--m-bar-h);align-items:center;gap:8px;padding:6px 8px 6px 14px;display:flex}.ui-clock--m{min-width:0;margin-right:auto}.ui-msheet .ui-btn{min-width:44px;min-height:44px}.ui-msheet__body{border-top:1px solid #e3e9f3;flex-direction:column;gap:10px;max-height:44vh;padding:10px;display:flex;overflow-y:auto}.ui-msheet__hours{color:#4b5b70;font-size:12px}.ui-msheet__actions{flex-wrap:wrap;gap:8px;display:flex}.ui-msheet__actions .ui-pill{min-height:44px;box-shadow:none;border:1px solid var(--blue-light)}.ui-physics{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.ui-physics__hint{opacity:.8;font-size:12px;font-weight:500}.ui-pill--on .ui-physics__hint{opacity:1}.ui-msheet__actions .ui-pill--on{background:var(--blue);border-color:var(--blue);color:#fff}.ui-msheet .ui-speeds.ui-scenarios--m{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;display:grid}.ui-msheet .ui-scenarios--m .ui-scenarios__label{grid-column:1/-1;margin:0;font-size:12px}.ui-msheet .ui-scenarios--m .ui-btn{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:62px;padding:6px 2px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.ui-scenario__vol span,.ui-msheet .ui-scenarios--m .ui-btn{white-space:nowrap}.ui-scenario__vol{color:var(--muted);flex-direction:column;align-items:center;font-size:10.5px;font-weight:600;line-height:1.25;display:flex}.ui-btn--active .ui-scenario__vol{color:#fff}.ui-msheet .ui-speeds{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.ui-msheet .ui-backlog{box-shadow:none;border:1px solid #e3e9f3;border-radius:12px;flex:none}.ui-msheet .ui-backlog__bar{padding:4px}.ui-msheet .ui-tab{min-height:40px;padding:0 10px}.ui-msheet .ui-backlog__body{height:30vh}.ui-msheet .ui-row-btn{min-width:56px;min-height:40px}.ui-msheet .ui-table tbody tr{height:40px}html[data-mobile] .ui-card{top:auto;left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + var(--m-bar-h) + 6px);border-radius:16px;gap:8px;width:auto;max-height:52vh;padding:12px 14px}html[data-mobile] .ui-card__close{width:40px;height:40px}html[data-mobile] .ui-card__title{font-size:20px}html[data-mobile] .ui-card--peek .ui-card__sub,html[data-mobile] .ui-card--peek .ui-card__actions,html[data-mobile] .ui-card--peek .ui-card__section,html[data-mobile] .ui-card--peek .ui-card__metrics,html[data-mobile] .ui-card--peek .ui-card__rows,html[data-mobile] .ui-card--peek .ui-card__note,html[data-mobile] .ui-card--peek .ui-card__task>:nth-child(n+3){display:none}html[data-mobile] .ui-card--peek .ui-card__task{padding:8px 10px}html[data-mobile] .ui-card--peek .ui-card__task-text{margin-bottom:0;font-size:13px}html[data-mobile] .ui-card .ui-btn,html[data-mobile] .ui-hud .ui-btn{min-height:44px}.ui-card__headbtns{flex:none;align-items:flex-start;gap:6px;display:flex}.ui-card__more{white-space:nowrap;font-size:13px;font-weight:700}html[data-mobile] .ui-card__more{height:40px;min-height:40px;padding:0 10px}html[data-mobile] .ui-card__follow{min-height:44px}html[data-mobile] .ui-hud{top:auto;left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + var(--m-bar-h) + 6px);width:auto;max-height:30vh;padding:10px 12px}html[data-mobile] .ui-hud__sub{display:none}html[data-mobile] .ui-hud__title{font-size:18px}html[data-mobile] .ui-hud__fold{min-height:40px}html[data-mobile] .ui-settings{top:calc(var(--gap) + var(--m-top-h) + 6px);left:var(--gap);right:var(--gap);bottom:var(--gap);width:auto}html[data-mobile] .ui-field__reset{width:40px;height:40px}html[data-mobile] .ui-field__num,html[data-mobile] .ui-field__row input[type=range]{min-height:40px}html[data-mobile] .ui-settings .ui-btn,html[data-mobile] .ui-settings .ui-pill{min-height:44px}html[data-mobile] .ui-live-tag{top:calc(var(--gap) + var(--m-top-h) + 6px);left:var(--gap);right:var(--gap);flex-wrap:wrap;padding:8px 10px;font-size:12px}html[data-mobile] .ui-live-tag__exit{min-height:40px}html[data-mobile] .ui-live-title{max-width:calc(100vw - 2 * var(--gap));padding:8px 14px 10px;bottom:16px}html[data-mobile] .ui-live-title__main{font-size:22px}html[data-mobile] .ui-live-title__sub{font-size:14px}html[data-mobile] .ui-live-title__hint{font-size:12px}html[data-mobile] .ui-notice{left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + var(--m-bar-h) + 10px);transform:none}html[data-mobile] .ui-fps{top:auto;right:auto;left:var(--gap);bottom:calc(var(--gap) + var(--m-bar-h) + 6px)}html[data-mobile] .ui-loading__card{min-width:0}.ui-intro{z-index:30;width:min(460px, calc(100vw - 2 * var(--gap)));background:var(--card);border-radius:14px;padding:16px 18px;position:absolute;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #1f4fae47}.ui-intro__title{color:var(--blue-dark);font-size:16px;font-weight:800}.ui-intro__list{color:var(--ink);margin:10px 0 14px;padding-left:20px;font-size:14px;line-height:1.55}.ui-intro__go{width:100%;min-height:44px;font-size:15px}.ui-intro--m{bottom:var(--gap)}.ui-jumps{background:#e6f6f3;border:1px solid #a9ddd2;border-radius:12px;align-items:center;gap:4px;padding:3px 4px 3px 9px}.ui-jumps__label{color:#0b6b5c;margin-right:2px;font-size:11px;font-weight:700}.ui-btn--jump{color:#0b5a4e;border-color:#a9ddd2;flex-direction:column;align-items:center;padding:3px 8px;line-height:1.15;display:flex}@media (hover:hover){.ui-btn--jump:hover:not(:disabled){background:#cdeee7}}.ui-jump__time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.ui-jump__label{white-space:nowrap;color:#3d6f67;font-size:10.5px;font-weight:600}.ui-msheet .ui-jumps--m{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;display:grid}.ui-msheet .ui-jumps--m .ui-jumps__label{grid-column:1/-1;margin:0;font-size:12px}.ui-msheet .ui-jumps--m .ui-btn--jump{justify-content:center;min-height:48px}.ui-msheet .ui-jumps--m .ui-jump__label{font-size:12px}.ui-loading__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.ui-loading__foot .ui-loading__sub{text-align:left;margin-top:0}.ui-loading__cancel{pointer-events:auto;flex:none;min-height:36px}html[data-mobile] .ui-loading__cancel{min-height:44px}@media (width<=1500px){html:not([data-mobile]) .ui-jumps .ui-jump__label{display:none}html:not([data-mobile]) .ui-btn--jump{padding:7px 9px}}
