.locale-switcher[data-v-a30106c2]{display:flex;align-items:center;gap:8px;margin-bottom:0}.locale-label[data-v-a30106c2]{font-size:var(--font-sm);color:inherit;opacity:.75;white-space:nowrap}select[data-v-a30106c2]{min-height:32px}.login-shell[data-v-432a922e]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg, #f4f6f8);padding:24px 0}.login-panel[data-v-432a922e]{background:#fff;border-radius:12px;padding:32px;width:min(420px,92vw);display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px #00000014}h1[data-v-432a922e]{margin:0;font-size:22px;color:#16784f}p[data-v-432a922e]{margin:0 0 4px;color:#667;font-size:13px}.review-notice[data-v-432a922e]{margin:0;padding:8px 10px;border-radius:8px;background:#fdf1e0;color:#b96a13;font-size:12px;line-height:1.5}label[data-v-432a922e]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#334}input[data-v-432a922e],textarea[data-v-432a922e]{border:1px solid #ccd3d9;border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;resize:vertical}.hint[data-v-432a922e]{color:#778;font-size:12px}.policy-row[data-v-432a922e]{flex-direction:row;align-items:flex-start;gap:8px}.policy-row input[data-v-432a922e]{margin-top:2px}button[data-v-432a922e]{background:#16784f;color:#fff;border:none;border-radius:8px;padding:11px;font-size:15px;cursor:pointer}button[data-v-432a922e]:disabled{opacity:.6}.error[data-v-432a922e]{color:#c0392b}.link[data-v-432a922e],.btn-link[data-v-432a922e]{color:#16784f}.btn-link[data-v-432a922e]{display:inline-block;text-align:center;text-decoration:none;font-weight:600;padding:11px;border-radius:8px;background:#16784f;color:#fff}.summary[data-v-432a922e]{margin:0;display:grid;gap:6px;font-size:13px}.summary div[data-v-432a922e]{display:flex;gap:8px}.summary dt[data-v-432a922e]{color:#778;min-width:64px}.summary dd[data-v-432a922e]{margin:0;font-weight:600;color:#223}.login-shell[data-v-f28c014c]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg, #f4f6f8)}.bind-panel[data-v-f28c014c]{background:#fff;border-radius:12px;padding:32px;width:min(460px,94vw);display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px #00000014}h1[data-v-f28c014c]{margin:0;font-size:22px;color:#16784f}p[data-v-f28c014c]{margin:0;color:#667;font-size:13px}.pending[data-v-f28c014c]{color:#16784f}.qr-reader[data-v-f28c014c]{width:100%;border-radius:8px;overflow:hidden}.divider[data-v-f28c014c]{text-align:center;color:#99a;font-size:12px;position:relative}.divider span[data-v-f28c014c]{background:#fff;padding:0 8px;position:relative;z-index:1}.divider[data-v-f28c014c]:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e2e6ea}label[data-v-f28c014c]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#334}input[data-v-f28c014c]{border:1px solid #ccd3d9;border-radius:8px;padding:9px 10px;font-size:15px;letter-spacing:1px;text-transform:uppercase}button[data-v-f28c014c]{background:#16784f;color:#fff;border:none;border-radius:8px;padding:11px;font-size:15px;cursor:pointer}button[data-v-f28c014c]:disabled{opacity:.6}button.ghost[data-v-f28c014c]{background:#fff;color:#16784f;border:1px solid #16784f}.result.ok[data-v-f28c014c]{background:#eef7f2;border:1px solid #bfe0cf;border-radius:8px;padding:12px;font-size:14px;color:#14523a}.device-line[data-v-f28c014c]{margin:6px 0}.device-id[data-v-f28c014c]{color:#778;margin-left:8px;font-size:12px}.link[data-v-f28c014c]{color:#16784f;font-size:13px}.error[data-v-f28c014c]{color:#c0392b}.hint[data-v-f28c014c]{color:#778;font-size:12px}.quickstart[data-v-f28c014c]{margin-top:12px;padding-top:12px;border-top:1px dashed #cfe3d7;display:flex;flex-direction:column;gap:10px}.qs-head[data-v-f28c014c]{display:flex;flex-direction:column;gap:2px}.qs-head strong[data-v-f28c014c]{font-size:14px;color:#14523a}.qs-head .muted[data-v-f28c014c]{font-size:12px;color:#778}.qs-choices[data-v-f28c014c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qs-card[data-v-f28c014c]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#fff;color:#14523a;border:1.5px solid #16784f;border-radius:10px;padding:12px;cursor:pointer;text-align:left}.qs-card[data-v-f28c014c]:hover:not(:disabled){background:#f2faf6}.qs-card[data-v-f28c014c]:disabled{opacity:.6;cursor:wait}.qs-card strong[data-v-f28c014c]{font-size:14px}.qs-card small[data-v-f28c014c]{font-size:12px;color:#5d7268}.qs-skip[data-v-f28c014c]{background:transparent;color:#778;border:none;padding:2px;font-size:12px;cursor:pointer;text-decoration:underline;align-self:flex-start}.qs-done[data-v-f28c014c]{margin-top:10px;padding-top:10px;border-top:1px dashed #cfe3d7;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.qs-done strong[data-v-f28c014c]{color:#14523a}.tpl-block[data-v-f28c014c]{margin-top:12px;padding-top:12px;border-top:1px dashed #cfe3d7;display:flex;flex-direction:column;gap:8px}.tpl-items[data-v-f28c014c]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tpl-items li[data-v-f28c014c]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8e6dd;border-radius:8px;padding:8px 10px;background:#fff}.tpl-info[data-v-f28c014c]{display:flex;flex-direction:column;gap:2px}.tpl-info small[data-v-f28c014c]{color:#66777a;font-size:12px}.tpl-btn[data-v-f28c014c]{background:#16784f;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.tpl-btn[data-v-f28c014c]:disabled{background:#b7c9c0;cursor:not-allowed}.tpl-msg[data-v-f28c014c]{color:#16784f}.qs-summary[data-v-f28c014c]{font-size:13px;color:#334}.farm-profile .head[data-v-8010ba7a]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.title-block[data-v-8010ba7a]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.picker[data-v-8010ba7a]{display:flex;align-items:center;gap:6px;font-size:var(--font-md)}.picker select[data-v-8010ba7a]{width:auto;min-height:34px}.actions[data-v-8010ba7a]{display:flex;gap:8px}.grid[data-v-8010ba7a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 18px;margin-top:14px}.grid .wide[data-v-8010ba7a]{grid-column:1 / -1}.grid label[data-v-8010ba7a]{display:block;font-size:var(--font-sm);color:#65796e;margin-bottom:2px}.grid strong[data-v-8010ba7a],.grid span[data-v-8010ba7a]{font-size:var(--font-base)}.empty[data-v-8010ba7a]{padding:18px 0 6px;display:flex;flex-direction:column;gap:14px}.empty-main[data-v-8010ba7a]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.empty-promo[data-v-8010ba7a]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#f0f7f3;border:1px dashed #b9d9c8;border-radius:8px}.promo-label[data-v-8010ba7a]{font-weight:700;color:#14523a;font-size:var(--font-base)}.promo-btn[data-v-8010ba7a]{text-decoration:none}.promo-hint[data-v-8010ba7a]{color:#65796e;font-size:var(--font-sm)}.edit-form[data-v-8010ba7a]{margin-top:14px;border-top:1px dashed #cbd8d0;padding-top:12px}.edit-form input[data-v-8010ba7a]{width:100%}.form-actions[data-v-8010ba7a]{display:flex;gap:8px;margin-top:12px}.panel-h[data-v-0165d934]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-h h2[data-v-0165d934]{margin:0 0 4px}.panel-h-text p[data-v-0165d934]{margin:0}.ro-chip[data-v-0165d934]{border:1px solid var(--c-border);border-radius:999px;padding:3px 10px;font-size:var(--font-sm);color:var(--c-muted);background:#fff;white-space:nowrap}.state[data-v-0165d934]{padding:28px 0;text-align:center;color:var(--c-muted)}.error-state[data-v-0165d934]{color:var(--c-danger)}.table-wrap[data-v-0165d934]{margin-top:14px;overflow-x:auto;border:1px solid var(--c-border);border-radius:10px;background:#fff}table[data-v-0165d934]{width:100%;border-collapse:collapse;font-size:var(--font-md)}th[data-v-0165d934],td[data-v-0165d934]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap}thead th[data-v-0165d934]{font-size:var(--font-sm);color:var(--c-muted);font-weight:600;background:#f4f7f3}tbody tr:last-child td[data-v-0165d934]{border-bottom:none}tbody tr[data-v-0165d934]:hover{background:#f7faf6}tbody tr.is-active[data-v-0165d934]{background:#eef7f1;box-shadow:inset 3px 0 0 var(--c-primary, #16784f)}td.name[data-v-0165d934]{font-weight:600}th.num[data-v-0165d934],td.num[data-v-0165d934]{text-align:right}.muted[data-v-0165d934]{color:var(--c-muted)}.type-chip[data-v-0165d934]{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.type-chip.farm[data-v-0165d934]{background:#e6f4ea;color:#16784f}.type-chip.personal[data-v-0165d934]{background:var(--c-info-bg);color:var(--c-info-text)}.type-chip.platform[data-v-0165d934],.type-chip.demo[data-v-0165d934]{background:#eef1f4;color:#55606b}.pager[data-v-0165d934]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:var(--font-sm)}.pager-btns[data-v-0165d934]{display:flex;gap:8px}.detail-empty[data-v-978e8025]{min-height:120px;display:flex;align-items:center;justify-content:center}.detail-head[data-v-978e8025]{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px}.detail-head h2[data-v-978e8025]{margin:0 0 2px;font-size:var(--font-xl)}.head-badges[data-v-978e8025]{display:flex;gap:6px;flex-wrap:wrap}.chip[data-v-978e8025]{display:inline-block;font-size:var(--font-sm);padding:3px 10px;border-radius:999px;background:#eef3ef;color:#20362c;white-space:nowrap}.chip-crop[data-v-978e8025]{background:#16784f24;color:#14532d}.chip-status[data-v-978e8025]{background:#eef3ef}.chip-on[data-v-978e8025]{background:#16784f29;color:#16784f;font-weight:700}.sep[data-v-978e8025]{margin:0 6px;opacity:.5}.info-grid[data-v-978e8025]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 16px;background:#f0f5f1;border:1px solid #e2ece4;border-radius:8px;padding:10px 14px;margin:8px 0}.info-grid.slim[data-v-978e8025]{background:transparent;border:none;padding:6px 0}.info-grid label[data-v-978e8025]{display:block;font-size:var(--font-sm);color:#65796e}.info-grid strong[data-v-978e8025]{font-size:var(--font-base)}.block[data-v-978e8025]{margin-top:14px}.section-title[data-v-978e8025]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.records[data-v-978e8025]{display:flex;flex-direction:column;gap:2px;margin-top:8px}.record-row[data-v-978e8025]{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px dashed #e2ece4}.rec-badge[data-v-978e8025]{flex:0 0 auto;font-size:var(--font-sm);padding:2px 10px;border-radius:999px;color:#fff;min-width:52px;text-align:center;font-weight:700}.badge-fertigation[data-v-978e8025]{background:#16784f}.badge-irrigation[data-v-978e8025]{background:#2f6f4f}.rec-main[data-v-978e8025]{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.rec-metrics[data-v-978e8025]{flex:0 0 auto;font-size:var(--font-md);color:#65796e}.devices[data-v-978e8025]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.device-chip[data-v-978e8025]{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#f0f5f1;border:1px solid #e2ece4;border-radius:8px;flex-wrap:wrap}.device-actions[data-v-978e8025]{margin-left:auto;display:inline-flex;gap:6px;flex:0 0 auto}.dot[data-v-978e8025]{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-on[data-v-978e8025]{background:#16784f}.dot-off[data-v-978e8025]{background:#b83a2d}.strategies[data-v-978e8025]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.strategy-row[data-v-978e8025]{display:flex;gap:10px;align-items:center;padding:6px 10px;background:#f0f5f1;border:1px solid #e2ece4;border-radius:8px}.plots-wrap[data-v-8e98f933]{display:grid;grid-template-columns:minmax(360px,460px) 1fr;gap:14px;align-items:start}@media(max-width:1100px){.plots-wrap[data-v-8e98f933]{grid-template-columns:1fr}}.list-col[data-v-8e98f933]{min-height:300px}.list-head[data-v-8e98f933]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer[data-v-8e98f933]{flex:1}.farm-tag[data-v-8e98f933]{font-weight:400}.search[data-v-8e98f933]{width:150px;min-height:34px}.belong-row[data-v-8e98f933]{display:flex;align-items:center;gap:8px;grid-column:1 / -1;padding:6px 10px;background:#e5f1ea;border-radius:6px;font-size:var(--font-md)}.belong-row label[data-v-8e98f933]{color:var(--c-muted)}.create-form[data-v-8e98f933]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;padding:10px;background:#f0f5f1;border:1px solid #e2ece4;border-radius:8px}.create-form input[data-v-8e98f933]{min-height:36px}.create-form button[data-v-8e98f933]{grid-column:1 / -1;justify-self:start}.list-hint[data-v-8e98f933]{padding:14px 2px}.plot-table[data-v-8e98f933]{margin-top:8px}.plot-table .table-row[data-v-8e98f933]{grid-template-columns:1.6fr .7fr .8fr .8fr .8fr .45fr;min-width:560px}.table-row.clickable[data-v-8e98f933]{cursor:pointer;border-left:3px solid transparent}.table-row.clickable.active[data-v-8e98f933]{border-left-color:#16784f;background:#16784f12}.plot-name[data-v-8e98f933]{display:flex;flex-direction:column;line-height:1.3}.plot-name strong[data-v-8e98f933]{display:flex;align-items:center;gap:6px}.plot-type-tag[data-v-8e98f933]{font-style:normal;font-size:11px;font-weight:500;color:var(--c-primary, #16784f);border:1px solid currentColor;border-radius:4px;padding:0 4px;flex:none}.plot-type-select[data-v-8e98f933]{width:100%;padding:8px 10px;border:1px solid var(--c-border, #d7ded9);border-radius:8px;background:var(--c-surface, #fff);font-size:var(--font-sm, 13px)}.plot-name small[data-v-8e98f933]{color:#65796e;font-size:var(--font-sm)}.strat-panel[data-v-4edbf139]{border:1px solid #d9e4dc;border-radius:8px;background:#f7faf8;padding:10px 12px}.sp-head[data-v-4edbf139]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sp-title[data-v-4edbf139]{display:flex;flex-direction:column;gap:2px}.list-hint[data-v-4edbf139]{padding:12px 2px}.btn.small[data-v-4edbf139]{min-height:30px;padding:0 12px;font-size:var(--font-sm)}.strategy-list[data-v-4edbf139]{margin-top:6px}.strategy-item[data-v-4edbf139]{border-bottom:1px solid #edf2ee}.strategy-item[data-v-4edbf139]:last-child{border-bottom:none}.strategy-row[data-v-4edbf139]{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(170px,1fr) minmax(160px,1fr) auto auto;gap:12px;align-items:center;padding:9px 4px}.col-name[data-v-4edbf139]{display:flex;flex-direction:column;gap:2px;min-width:0}.col-if[data-v-4edbf139],.col-then[data-v-4edbf139]{display:flex;align-items:center;gap:8px;min-width:0}.k-tag[data-v-4edbf139]{flex:0 0 auto;font-size:var(--font-sm);padding:1px 8px;border-radius:4px;background:#eef3ef;color:#20362c;white-space:nowrap}.arrow[data-v-4edbf139]{flex:0 0 auto;color:#65796e}.clause[data-v-4edbf139]{font-size:var(--font-md);color:#17211d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip[data-v-4edbf139]{flex:0 0 auto;font-size:var(--font-sm);padding:2px 10px;border-radius:999px}.chip-on[data-v-4edbf139]{background:#16784f29;color:#16784f;font-weight:700}.chip-off[data-v-4edbf139]{background:#eef3ef;color:#65796e}.row-actions[data-v-4edbf139]{display:flex;gap:4px;flex:0 0 auto}.row-actions .text-action[data-v-4edbf139]{font-size:var(--font-sm)}.danger-link[data-v-4edbf139]{color:#b83a2d}.text-action[disabled][data-v-4edbf139]{opacity:.5;cursor:not-allowed}.plot-group[data-v-5aa5838f]{margin-top:14px}.plot-head[data-v-5aa5838f]{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.plot-head strong[data-v-5aa5838f]{font-size:var(--font-base)}.device-table[data-v-5aa5838f]{overflow-x:auto}.device-table .table-row[data-v-5aa5838f]{grid-template-columns:minmax(0,1.5fr) 90px 130px 105px 70px 100px 80px auto;min-width:980px}.device-table .table-row.row-active[data-v-5aa5838f]{background:#16784f0f}.btn.small[data-v-5aa5838f]{min-height:30px;padding:0 12px;font-size:var(--font-sm)}.device-strat-row[data-v-5aa5838f]{grid-column:1 / -1;background:#fbfcfb;border-bottom:1px dashed #cbd8d0;margin:0;padding:10px 4px}.env-chip[data-v-5aa5838f]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-sm);font-weight:700}.env-chip.dev[data-v-5aa5838f]{background:#e0ecff;color:#1a4fb0}.env-chip.prod[data-v-5aa5838f]{background:#e6e9ed;color:#5b6672}.list-hint[data-v-5aa5838f]{padding:14px 2px}.bind-panel[data-v-5aa5838f]{margin:12px 0;padding:12px;background:#f0f5f1;border:1px solid #e2ece4;border-radius:8px}.mode-row[data-v-5aa5838f]{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:10px}.mode[data-v-5aa5838f]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer;background:#fff}.mode.on[data-v-5aa5838f]{border-color:#16784f;background:#e5f1ea}.grid[data-v-5aa5838f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:10px}.field[data-v-5aa5838f]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm)}.field input[data-v-5aa5838f],.field select[data-v-5aa5838f]{min-height:34px}.pool-list[data-v-5aa5838f]{background:#fff;border-radius:8px;padding:8px}.pool-table .table-row[data-v-5aa5838f]{grid-template-columns:minmax(120px,1fr) minmax(160px,1.4fr) 130px 110px 150px;min-width:720px}.bind-note[data-v-5aa5838f]{margin:10px 2px 0;font-size:var(--font-sm);color:#65796e}.tabs[data-v-0cb72c68]{display:flex;gap:4px;margin:14px 0 0;border-bottom:1px solid #d9e4dc;padding:0 8px}.tabs button[data-v-0cb72c68]{border:1px solid transparent;border-bottom:none;background:transparent;color:#17211d;padding:9px 20px;font-size:var(--font-base);border-radius:8px 8px 0 0;cursor:pointer;opacity:.7}.tabs button[data-v-0cb72c68]:hover{opacity:1}.tabs button.active[data-v-0cb72c68]{opacity:1;background:#fff;border-color:#d9e4dc;font-weight:700;position:relative;top:1px}.stat-grid[data-v-7c65c7b7]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3, 14px)}.stat-card[data-v-7c65c7b7]{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--c-surface, #fff);border:1px solid var(--c-border, #e3e8e4);border-radius:12px;text-decoration:none;color:inherit;transition:box-shadow .15s}.stat-card[data-v-7c65c7b7]:hover{box-shadow:0 2px 10px #16784f1f}.stat-label[data-v-7c65c7b7]{font-size:var(--font-sm, 13px);color:var(--c-muted)}.stat-value[data-v-7c65c7b7]{font-size:var(--font-xl, 28px);line-height:1.1}.stat-value small[data-v-7c65c7b7]{font-size:var(--font-md, 15px);color:var(--c-muted);font-weight:500}.stat-hint[data-v-7c65c7b7]{font-size:var(--font-xs, 12px);color:var(--c-muted)}.overview-columns[data-v-7c65c7b7]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3, 14px)}.irrigation-summary[data-v-7c65c7b7]{display:flex;gap:28px;padding:6px 0}.sum-item[data-v-7c65c7b7]{display:flex;flex-direction:column;gap:2px}.sum-item strong[data-v-7c65c7b7]{font-size:var(--font-lg, 22px)}.sum-item strong small[data-v-7c65c7b7]{font-size:var(--font-sm, 13px);color:var(--c-muted);font-weight:500}.sum-item span[data-v-7c65c7b7]{font-size:var(--font-xs, 12px);color:var(--c-muted)}.alarm-mini-list[data-v-7c65c7b7]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.alarm-mini-list li[data-v-7c65c7b7]{display:flex;align-items:baseline;gap:8px;font-size:var(--font-sm, 13px)}.alarm-type[data-v-7c65c7b7]{flex:none;font-weight:600;color:var(--c-danger, #b83a2d)}.alarm-msg[data-v-7c65c7b7]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-time[data-v-7c65c7b7]{flex:none;color:var(--c-muted);font-size:var(--font-xs, 12px)}.metric-grid[data-v-7c65c7b7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3, 14px)}.metric-card[data-v-7c65c7b7]{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--c-border, #e3e8e4);border-radius:10px}.metric-label[data-v-7c65c7b7]{font-size:var(--font-sm, 13px);color:var(--c-muted)}.metric-value[data-v-7c65c7b7]{font-size:var(--font-lg, 22px)}.metric-value small[data-v-7c65c7b7]{font-size:var(--font-xs, 12px);color:var(--c-muted);font-weight:500}.metric-meta[data-v-7c65c7b7]{font-size:var(--font-xs, 12px);color:var(--c-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stale-tag[data-v-7c65c7b7]{font-style:normal;color:var(--c-warn, #b07a1f);border:1px solid currentColor;border-radius:4px;padding:0 4px;font-size:11px}.device-table[data-v-7c65c7b7]{width:100%;border-collapse:collapse;font-size:var(--font-sm, 13px)}.device-table th[data-v-7c65c7b7]{text-align:left;font-weight:600;color:var(--c-muted);padding:8px 10px;border-bottom:1px solid var(--c-border, #e3e8e4);white-space:nowrap}.device-table td[data-v-7c65c7b7]{padding:10px;border-bottom:1px solid var(--c-border, #e3e8e4);vertical-align:middle}.device-table tbody tr:last-child td[data-v-7c65c7b7]{border-bottom:none}.device-table tbody tr[data-v-7c65c7b7]:hover{background:#16784f0a}.device-link[data-v-7c65c7b7]{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}.device-link:hover strong[data-v-7c65c7b7]{color:var(--c-primary, #16784f);text-decoration:underline}.device-id[data-v-7c65c7b7]{font-size:var(--font-xs, 12px);color:var(--c-muted)}.online-dot[data-v-7c65c7b7]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c-primary, #16784f);margin-right:6px;vertical-align:middle}.cell-action[data-v-7c65c7b7]{text-align:right;white-space:nowrap}@media(max-width:900px){.stat-grid[data-v-7c65c7b7]{grid-template-columns:repeat(2,1fr)}.overview-columns[data-v-7c65c7b7]{grid-template-columns:1fr}}.mc-root[data-v-20236952]{width:100%}.mc-legend[data-v-20236952]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mc-legend-item[data-v-20236952]{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;min-height:0;border-radius:999px;border:.5px solid var(--color-border-tertiary, rgba(0, 0, 0, .12));background:var(--color-background-secondary, #fff);color:var(--color-text-primary, #1f2d26);font-size:12px;font-weight:500;line-height:1.4}.mc-legend-item.off[data-v-20236952]{opacity:.42}.mc-dot[data-v-20236952]{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.mc-name[data-v-20236952]{font-weight:500}.mc-val[data-v-20236952]{opacity:.72;font-variant-numeric:tabular-nums}.mc-plot[data-v-20236952]{position:relative;width:100%}.mc-svg[data-v-20236952]{display:block;width:100%}.mc-grid line[data-v-20236952]{stroke:var(--color-border-tertiary, rgba(0, 0, 0, .1))}.mc-yaxis text[data-v-20236952],.mc-xaxis text[data-v-20236952]{font-size:11px;fill:var(--color-text-tertiary, rgba(0, 0, 0, .45))}.mc-hover line[data-v-20236952]{stroke:var(--color-text-tertiary, rgba(0, 0, 0, .4))}.mc-hover circle[data-v-20236952]{stroke:var(--color-background-primary, #fff)}.mc-tip[data-v-20236952]{position:absolute;top:8px;min-width:150px;padding:8px 10px;border-radius:8px;border:.5px solid var(--color-border-tertiary, rgba(0, 0, 0, .12));background:var(--color-background-primary, #fff);pointer-events:none;font-size:12px;line-height:1.55}.mc-tip-time[data-v-20236952]{opacity:.6;margin-bottom:4px}.mc-tip-row[data-v-20236952]{display:flex;align-items:center;gap:6px}.mc-tip-label[data-v-20236952]{flex:1}.mc-tip-val[data-v-20236952]{font-weight:500;font-variant-numeric:tabular-nums}.mc-empty[data-v-20236952]{padding:28px 0;text-align:center;font-size:13px;opacity:.55}.filter-bar[data-v-d6c3c078]{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.field[data-v-d6c3c078]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm, 13px);min-width:200px}.field select[data-v-d6c3c078]{min-height:34px}.header-actions[data-v-282f4a38]{display:flex;gap:8px;align-items:center}.create-head[data-v-282f4a38]{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.create-form[data-v-282f4a38]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px}.create-form .field[data-v-282f4a38]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:#65796e}.create-form .field.wide[data-v-282f4a38]{grid-column:1 / -1}.create-form input[data-v-282f4a38]{width:100%;min-height:36px}.req[data-v-282f4a38]{color:#b83a2d}.create-form .hint[data-v-282f4a38],.create-form .form-actions[data-v-282f4a38]{grid-column:1 / -1}.create-form .form-actions[data-v-282f4a38]{display:flex;gap:8px}.empty[data-v-282f4a38]{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:12px 0 4px}.sensor-groups[data-v-1441ba03]{margin-top:4px}.sensor-group[data-v-1441ba03]{margin-bottom:18px}.sensor-group[data-v-1441ba03]:last-child{margin-bottom:0}.sensor-head[data-v-1441ba03]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sensor-head h3[data-v-1441ba03]{font-size:var(--font-md, 15px);margin:0}.sensor-head span[data-v-1441ba03]{font-size:var(--font-sm, 13px)}.metric-grid[data-v-1441ba03]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-3, 14px)}.metric[data-v-1441ba03]{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--c-border, #e3e8e4);border-radius:10px}.metric span[data-v-1441ba03]{font-size:var(--font-sm, 13px);color:var(--c-muted, #65796e);display:flex;align-items:center;gap:6px}.metric strong[data-v-1441ba03]{font-size:var(--font-lg, 22px)}.metric strong small[data-v-1441ba03]{font-size:var(--font-sm, 13px);color:var(--c-muted, #65796e);font-weight:500}.stale-tag[data-v-1441ba03]{font-style:normal;color:var(--c-warn, #b07a1f);border:1px solid currentColor;border-radius:4px;padding:0 4px;font-size:11px}.binding-panel .binding-body[data-v-498d8c44]{display:flex;gap:20px;align-items:flex-start}.binding-code[data-v-498d8c44]{font-size:22px;letter-spacing:2px;color:#16784f;margin:0 0 4px}.binding-qr[data-v-498d8c44]{border:1px solid #e2e6ea;border-radius:8px}.hmi-entry-panel[data-v-498d8c44]{border-color:#16784f;background:linear-gradient(180deg,#f4faf6,#fff)}.hmi-entry-panel .section-title[data-v-498d8c44]{margin-bottom:10px}.archive-panel[data-v-498d8c44]{border-color:#d8c17a}.archive-grid[data-v-498d8c44]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 18px;margin:4px 0 12px}.archive-item span[data-v-498d8c44]{display:block;font-size:var(--font-sm);color:#65796e}.archive-item strong[data-v-498d8c44]{display:block;word-break:break-all}.mono[data-v-498d8c44]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.archive-editor[data-v-498d8c44]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:#f4f7f5;border:1px solid #e3ece6;border-radius:8px;padding:10px 14px;margin-bottom:12px}.archive-editor label[data-v-498d8c44]{display:flex;align-items:center;gap:6px;font-size:13px;color:#34513f}.archive-editor input[data-v-498d8c44]{border:1px solid #d5e0da;border-radius:6px;padding:6px 10px;min-width:240px;font-family:inherit}.archive-editor input[type=checkbox][data-v-498d8c44]{min-width:0;width:auto;padding:0;margin:0;accent-color:#16784f}.archive-editor .cap-edit[data-v-498d8c44]{flex-wrap:wrap;gap:4px 10px}.archive-editor .cap-edit .cap-check[data-v-498d8c44]{display:inline-flex;align-items:center;gap:4px;font-size:13px}.cap-row[data-v-498d8c44]{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.chip[data-v-498d8c44]{display:inline-block;font-size:var(--font-sm);padding:3px 10px;border-radius:999px;white-space:nowrap;background:#eef3ef;color:#20362c}.chip-on[data-v-498d8c44]{background:#16784f29;color:#16784f;font-weight:700}.chip-off[data-v-498d8c44]{background:#eef3ef;color:#65796e}.objects-panel .obj-group-title[data-v-498d8c44]{margin:12px 0 6px;font-weight:600;color:#16784f;font-size:13px}.objects-panel .obj-row[data-v-498d8c44]{display:grid;grid-template-columns:76px 1.2fr 1.6fr 1.8fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e4ebe6;border-radius:8px;margin-bottom:6px;background:#fff}.objects-panel .obj-row .type-chip[data-v-498d8c44]{justify-self:start;background:#eaf5ee;color:#16784f;border-radius:999px;padding:2px 10px;font-size:12px}.objects-panel .obj-attrs[data-v-498d8c44]{color:#5a6d62;font-size:12px}.objects-panel .small-hint[data-v-498d8c44]{margin:0 0 6px 4px}.obj-modal[data-v-498d8c44]{background:#fff;border-radius:12px;width:min(560px,92vw);max-height:88vh;overflow:auto;padding:20px 22px;box-shadow:0 18px 48px #0000002e}.obj-modal h3[data-v-498d8c44]{margin:0 0 14px}.obj-form-grid[data-v-498d8c44]{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.obj-form-grid label[data-v-498d8c44]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5a6d62}.obj-form-grid input[data-v-498d8c44],.obj-form-grid select[data-v-498d8c44]{border:1px solid #d7e0da;border-radius:8px;padding:7px 10px;font-size:13px}.obj-form-grid .obj-toggle[data-v-498d8c44]{flex-direction:row;align-items:center;gap:8px;align-self:end;padding-bottom:8px}.obj-driver-echo[data-v-498d8c44]{margin:12px 0 0;background:#17c0bc;color:#063836;border-radius:8px;padding:8px 12px;font-size:12px}.obj-modal-actions[data-v-498d8c44]{justify-content:flex-end;margin-top:16px}.modal-mask[data-v-498d8c44]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14201a6b;display:flex;align-items:center;justify-content:center;z-index:60}.dossier-panel .panel-head[data-v-498d8c44]{display:flex;align-items:center;gap:10px}.dossier-grid[data-v-498d8c44]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 20px;margin-top:8px}.dossier-item[data-v-498d8c44]{display:flex;flex-direction:column;gap:2px}.dossier-item .k[data-v-498d8c44]{font-size:var(--font-xs);color:var(--c-muted)}.dossier-item .v[data-v-498d8c44]{font-size:var(--font-sm)}.dossier-sub[data-v-498d8c44]{margin:14px 0 6px;font-size:var(--font-sm);color:var(--c-muted)}.dossier-list[data-v-498d8c44]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dossier-list li[data-v-498d8c44]{display:flex;gap:12px;font-size:var(--font-sm);flex-wrap:wrap}.d-time[data-v-498d8c44]{color:var(--c-muted);white-space:nowrap;min-width:140px}.mono[data-v-498d8c44]{font-family:var(--font-mono, monospace)}.life-chip[data-v-498d8c44]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.life-chip.ACTIVATED[data-v-498d8c44]{background:#e3f4e8;color:var(--c-primary)}.life-chip.IN_STOCK[data-v-498d8c44]{background:#e3f2fd;color:#1565c0}.life-chip.PENDING_INSPECTION[data-v-498d8c44],.life-chip.SOLD_UNREGISTERED[data-v-498d8c44],.life-chip.REGISTERED[data-v-498d8c44]{background:#fff8e1;color:#b26a00}.life-chip.INSPECTION_FAILED[data-v-498d8c44],.life-chip.IN_REPAIR[data-v-498d8c44]{background:#fdecea;color:#c62828}.life-chip.RETIRED[data-v-498d8c44]{background:#eceff1;color:#78909c}.warranty-chip[data-v-498d8c44]{display:inline-block;border-radius:999px;padding:1px 8px;font-size:var(--font-xs);margin-right:4px}.warranty-chip.in[data-v-498d8c44]{background:#e3f4e8;color:var(--c-primary)}.warranty-chip.out[data-v-498d8c44]{background:#eceff1;color:#78909c}.tpl-list[data-v-498d8c44]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tpl-item[data-v-498d8c44]{border:1px solid var(--c-border);border-radius:10px;padding:10px 12px;background:#fff}.tpl-item.instance[data-v-498d8c44]{background:#fafcfa}.tpl-head[data-v-498d8c44]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tpl-summary[data-v-498d8c44]{margin:4px 0 8px;color:var(--c-muted);font-size:var(--font-sm)}.tpl-params[data-v-498d8c44]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.tpl-params label[data-v-498d8c44]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.tpl-params input[data-v-498d8c44],.tpl-params select[data-v-498d8c44]{border:1px solid var(--c-border);border-radius:var(--radius);padding:6px 8px;font:inherit;font-size:var(--font-base);background:#fff;color:#17211d}.tpl-actions[data-v-498d8c44]{display:flex;gap:8px;margin-top:10px}.chip.src-device[data-v-498d8c44]{background:#e3f4e8;color:var(--c-primary)}.chip.src-model[data-v-498d8c44]{background:#e3f2fd;color:#1565c0}.chip.src-auto[data-v-498d8c44]{background:#eceff1;color:#546e7a}.incompat[data-v-498d8c44]{color:#c62828;font-size:var(--font-xs)}.tpl-msg[data-v-498d8c44]{margin:10px 0 0;font-size:var(--font-sm);color:var(--c-primary)}.tpl-msg.err[data-v-498d8c44]{color:#c62828}.program-table .table-row[data-v-498d8c44]{grid-template-columns:70px 1.1fr 110px 1.3fr 1.6fr;min-width:760px}.zone-chip[data-v-498d8c44]{display:inline-block;margin:0 6px 4px 0;padding:1px 6px;border-radius:6px;background:#eef4f0;color:#16784f;font-size:12px}.alarms-panel[data-v-2dff7381]{min-height:200px}.filter-bar[data-v-2dff7381]{display:flex;align-items:center;gap:12px}.alarms-table .table-row[data-v-2dff7381]{grid-template-columns:110px 150px 70px 1fr 70px 170px;min-width:760px}.runs-table .table-row[data-v-2dff7381]{grid-template-columns:140px 120px 60px 140px 140px 80px 150px 80px;min-width:920px}.commands-table .table-row[data-v-2dff7381]{grid-template-columns:150px 150px 140px 90px 140px 1fr;min-width:780px}.msg-cell[data-v-2dff7381]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-cell small[data-v-2dff7381]{display:block;color:var(--c-muted);font-size:var(--font-xs, 12px)}.cmd-id[data-v-2dff7381]{font-family:monospace;font-size:var(--font-xs, 12px);color:var(--c-muted);overflow:hidden;text-overflow:ellipsis}.legacy-guard[data-v-d47f7018]{border-color:#e2c46a;background:#fffaf0}.legacy-guard .section-title[data-v-d47f7018]{margin-bottom:8px}.chip[data-v-d47f7018]{display:inline-block;font-size:var(--font-sm);padding:3px 10px;border-radius:999px;white-space:nowrap}.chip-on[data-v-d47f7018]{background:#16784f29;color:#16784f;font-weight:700}.log-raw[data-v-01aa24a3]{margin:0;padding:12px;overflow:auto;max-height:420px;font-size:var(--font-sm);line-height:1.45;background:#0000000a;border-radius:8px}label[data-v-01aa24a3]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm)}input[data-v-01aa24a3]{min-width:140px}.ok-text[data-v-01aa24a3]{color:#1a7f37}.err-text[data-v-01aa24a3]{color:#c62828}.row-new-user[data-v-8a6b4407]{background:#f2faf5}.new-badge[data-v-8a6b4407]{margin-left:6px;padding:1px 6px;border-radius:8px;background:#16784f;color:#fff;font-size:var(--font-xs, 11px);font-weight:600;vertical-align:middle}.stat-row[data-v-8a6b4407]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-card[data-v-8a6b4407]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--c-border);border-left-width:3px;border-radius:10px;background:#fff;color:inherit;box-shadow:none;text-align:left;cursor:pointer}.stat-card[data-v-8a6b4407]:hover{background:#f7faf8}.stat-card.active[data-v-8a6b4407]{background:#eef6f1;border-color:var(--c-primary)}.stat-num[data-v-8a6b4407]{font-size:var(--font-xl, 20px);font-weight:800;line-height:1.15}.stat-label[data-v-8a6b4407]{font-size:var(--font-sm, 12px);color:var(--c-muted)}.stat-pending[data-v-8a6b4407]{border-left-color:#d9822b}.stat-pending .stat-num[data-v-8a6b4407]{color:#b96a13}.stat-active[data-v-8a6b4407]{border-left-color:var(--c-primary)}.stat-active .stat-num[data-v-8a6b4407]{color:var(--c-primary)}.stat-disabled[data-v-8a6b4407]{border-left-color:#8a9690}.stat-disabled .stat-num[data-v-8a6b4407]{color:#5b6672}.stat-rejected[data-v-8a6b4407]{border-left-color:var(--c-danger)}.stat-rejected .stat-num[data-v-8a6b4407]{color:var(--c-danger)}.review-panel[data-v-8a6b4407]{border-left:3px solid #d9822b}.reject-box[data-v-8a6b4407]{margin-top:14px;padding:14px;border:1px solid var(--c-border);border-radius:10px;background:#fffaf3}.reject-title[data-v-8a6b4407]{margin:0 0 10px;font-size:var(--font-md)}.reject-input[data-v-8a6b4407]{width:100%;border:1px solid var(--c-border);border-radius:var(--radius);padding:9px 10px;font:inherit}.filter-bar[data-v-8a6b4407]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-bar input[data-v-8a6b4407]{flex:1 1 200px;min-width:160px}.review-table .table-row[data-v-8a6b4407]{grid-template-columns:1.1fr 100px 180px 1.5fr 130px 150px;min-width:1020px}.user-table .table-row[data-v-8a6b4407]{grid-template-columns:1.2fr 110px 140px 150px 160px 120px 170px;min-width:1080px}.matrix-table .table-row[data-v-8a6b4407]{grid-template-columns:150px 1.8fr 1.1fr;min-width:640px}.matrix-text[data-v-8a6b4407]{white-space:normal;line-height:1.5}.ellipsis[data-v-8a6b4407]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-select[data-v-8a6b4407]{width:100%;max-width:150px;border:1px solid var(--c-border);border-radius:var(--radius);padding:5px 6px;font:inherit;font-size:var(--font-md, 13px);background:#fff}.note-inline[data-v-8a6b4407]{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;margin-left:6px}.empty-row[data-v-8a6b4407]{padding:20px 0;text-align:center}.mini[data-v-8a6b4407]{height:var(--btn-h-sm, 30px);padding:0 12px;border:none;border-radius:var(--radius);font-size:var(--font-md, 13px);font-weight:700;color:#fff;cursor:pointer}.mini.ok[data-v-8a6b4407]{background:var(--c-primary)}.mini.ok[data-v-8a6b4407]:hover{background:var(--c-primary-hover)}.mini.danger[data-v-8a6b4407]{background:var(--c-danger)}.mini[data-v-8a6b4407]:disabled{opacity:.55;cursor:not-allowed}.status-badge.status-pending[data-v-8a6b4407]{background:#fdf1e0;color:#b96a13}.status-badge.status-rejected[data-v-8a6b4407]{background:#f9e8e5;color:#b83a2d}.stat-row[data-v-85b18ecd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-card[data-v-85b18ecd]{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--c-border);border-left-width:3px;border-radius:10px;background:#fff}.stat-num[data-v-85b18ecd]{font-size:var(--font-xl, 20px);font-weight:800;line-height:1.15}.stat-label[data-v-85b18ecd]{font-size:var(--font-sm, 12px);color:var(--c-muted)}.stat-active[data-v-85b18ecd]{border-left-color:var(--c-primary)}.stat-active .stat-num[data-v-85b18ecd]{color:var(--c-primary)}.stat-rejected[data-v-85b18ecd]{border-left-color:var(--c-danger)}.stat-rejected .stat-num[data-v-85b18ecd]{color:var(--c-danger)}.stat-disabled[data-v-85b18ecd]{border-left-color:#8a9690}.stat-disabled .stat-num[data-v-85b18ecd]{color:#5b6672}.stat-pending[data-v-85b18ecd]{border-left-color:#d9822b}.stat-pending .stat-num[data-v-85b18ecd]{color:#b96a13}.filter-bar[data-v-85b18ecd]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-bar input[data-v-85b18ecd]{flex:1 1 170px;min-width:150px}.log-table .table-row[data-v-85b18ecd]{grid-template-columns:150px 130px 110px 1.7fr 130px 170px;min-width:1040px}.mono[data-v-85b18ecd]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-md, 13px)}.ellipsis[data-v-85b18ecd]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ua-cell[data-v-85b18ecd]{color:var(--c-muted);font-size:var(--font-md, 13px)}.empty-row[data-v-85b18ecd]{padding:20px 0;text-align:center}.pager[data-v-85b18ecd]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.status-badge.status-pending[data-v-85b18ecd]{background:#fdf1e0;color:#b96a13}.status-badge.status-rejected[data-v-85b18ecd]{background:#f9e8e5;color:#b83a2d}.status-badge.status-info[data-v-85b18ecd]{background:var(--c-info-bg);color:var(--c-info-text)}.setting-list[data-v-1666bc8c]{display:grid;gap:16px;margin-bottom:18px}.setting-row[data-v-1666bc8c]{display:flex;align-items:flex-start;gap:14px}.setting-text strong[data-v-1666bc8c]{display:block;font-size:var(--font-base, 14px)}.setting-text p[data-v-1666bc8c]{margin:4px 0 0;font-size:var(--font-md, 13px);line-height:1.5}.switch[data-v-1666bc8c]{flex:none;display:inline-flex;align-items:center;cursor:pointer;margin-top:2px}.switch input[data-v-1666bc8c]{position:absolute;opacity:0;width:0;height:0}.switch .track[data-v-1666bc8c]{width:42px;height:24px;border-radius:999px;background:#cfd8d2;display:inline-flex;align-items:center;padding:2px;transition:background .15s ease}.switch .knob[data-v-1666bc8c]{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch input:checked+.track[data-v-1666bc8c]{background:var(--c-primary)}.switch input:checked+.track .knob[data-v-1666bc8c]{transform:translate(18px)}.switch input:disabled+.track[data-v-1666bc8c]{opacity:.55;cursor:not-allowed}.flow[data-v-1666bc8c]{margin:0;padding-left:22px;display:grid;gap:8px;font-size:var(--font-md, 13px);line-height:1.6}.flow .link[data-v-1666bc8c]{color:var(--c-primary)}.tag-off[data-v-1666bc8c]{color:var(--c-danger)}.note[data-v-1666bc8c]{margin:0;font-size:var(--font-md, 13px);line-height:1.6}.toolbar[data-v-ab11fab9]{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.toolbar .field.grow[data-v-ab11fab9]{flex:1 1 220px}.ledger-count[data-v-ab11fab9]{margin-left:auto;align-self:center}.ledger-table[data-v-ab11fab9] .table-row{grid-template-columns:minmax(0,1.4fr) 110px 130px 130px 90px 200px 80px 70px 170px;min-width:1120px}.ledger-table .cell-main[data-v-ab11fab9]{display:flex;flex-direction:column;gap:2px}.caps-cell[data-v-ab11fab9]{display:flex;gap:4px;flex-wrap:wrap}.cap-chip[data-v-ab11fab9]{font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;border:1px solid transparent}.cap-chip.on[data-v-ab11fab9]{background:#e6f6ec;color:#177245;border-color:#b5e3c8}.cap-chip.off[data-v-ab11fab9]{background:#f0f2f1;color:#98a39e;border-color:#e2e7e4}.status-disabled[data-v-ab11fab9]{background:#f5f5f5;color:#8a8f8c;border-color:#e2e2e2}.table-row.row-disabled[data-v-ab11fab9]{opacity:.55}.table-row.row-disabled .cell-main strong[data-v-ab11fab9]{text-decoration:line-through}.life-chip[data-v-ab11fab9]{display:inline-block;border-radius:999px;padding:2px 8px;font-size:var(--font-xs);background:#eceff1;color:#546e7a;white-space:nowrap}.life-chip.ACTIVATED[data-v-ab11fab9]{background:#e3f4e8;color:var(--c-primary)}.life-chip.IN_STOCK[data-v-ab11fab9]{background:#e3f2fd;color:#1565c0}.life-chip.PENDING_INSPECTION[data-v-ab11fab9],.life-chip.SOLD_UNREGISTERED[data-v-ab11fab9],.life-chip.REGISTERED[data-v-ab11fab9]{background:#fff8e1;color:#b26a00}.life-chip.INSPECTION_FAILED[data-v-ab11fab9],.life-chip.IN_REPAIR[data-v-ab11fab9]{background:#fdecea;color:#c62828}.life-chip.RETIRED[data-v-ab11fab9]{background:#eceff1;color:#78909c}.modal-mask[data-v-ab11fab9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14201a73;display:flex;align-items:center;justify-content:center;z-index:50}.modal-box[data-v-ab11fab9]{width:min(720px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 18px 50px #14201a40}.modal-head[data-v-ab11fab9]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e3eae6;font-size:15px}.modal-body[data-v-ab11fab9]{padding:16px 18px 18px}.icon-btn[data-v-ab11fab9]{border:none;background:transparent;font-size:20px;line-height:1;color:#6d7a73;cursor:pointer}.caps-edit[data-v-ab11fab9]{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:10px 12px;background:#f6f9f7;border-radius:8px}.caps-title[data-v-ab11fab9]{font-size:12px;color:#55635c;width:100%}.cap-toggle[data-v-ab11fab9]{display:inline-flex;align-items:center;gap:5px;font-size:13px}.modal-actions[data-v-ab11fab9]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.span2[data-v-ab11fab9]{grid-column:span 2}.field[data-v-ab11fab9]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#44534c}.field select[data-v-ab11fab9],.field input[data-v-ab11fab9]{min-height:38px}.grid[data-v-ab11fab9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.page-header[data-v-0180b94c]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hint[data-v-0180b94c]{margin:0 0 12px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form[data-v-0180b94c]{border:1px solid var(--c-border);border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.form-grid[data-v-0180b94c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.edit-form label[data-v-0180b94c]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form input[data-v-0180b94c],.edit-form select[data-v-0180b94c]{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--font-base);color:#17211d;background:#fff}.form-actions[data-v-0180b94c]{display:flex;align-items:center;gap:10px;margin-top:12px}.form-msg[data-v-0180b94c]{font-size:var(--font-sm);color:var(--c-primary)}.form-msg.err[data-v-0180b94c]{color:var(--c-danger)}.state[data-v-0180b94c]{padding:28px 0;text-align:center;color:var(--c-muted)}.state.err[data-v-0180b94c]{color:var(--c-danger)}.table-wrap[data-v-0180b94c]{overflow-x:auto;border:1px solid var(--c-border);border-radius:10px;background:#fff}table[data-v-0180b94c]{width:100%;border-collapse:collapse;font-size:var(--font-md)}th[data-v-0180b94c],td[data-v-0180b94c]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap}thead th[data-v-0180b94c]{font-size:var(--font-sm);color:var(--c-muted);font-weight:600;background:#f4f7f3}tbody tr:last-child td[data-v-0180b94c]{border-bottom:none}tbody tr[data-v-0180b94c]:hover{background:#f7faf6}td.name[data-v-0180b94c]{font-weight:600}.type-chip[data-v-0180b94c]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.status-chip[data-v-0180b94c]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.status-chip.run[data-v-0180b94c]{background:#e3f4e8;color:var(--c-primary)}.status-chip.on[data-v-0180b94c]{background:var(--c-info-bg);color:var(--c-info-text)}.muted[data-v-0180b94c]{color:var(--c-muted)}.ops[data-v-0180b94c]{display:flex;gap:6px}button.mini[data-v-0180b94c]{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}button.mini.secondary[data-v-0180b94c]{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.mini.danger[data-v-0180b94c]{background:var(--c-danger)}.page-header[data-v-44cfde1f]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hint[data-v-44cfde1f]{margin:0 0 12px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form[data-v-44cfde1f]{border:1px solid var(--c-border);border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.form-grid[data-v-44cfde1f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.edit-form label[data-v-44cfde1f]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form input[data-v-44cfde1f],.edit-form select[data-v-44cfde1f]{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--font-base);color:#17211d;background:#fff}.form-actions[data-v-44cfde1f]{display:flex;align-items:center;gap:10px;margin-top:12px}.form-msg[data-v-44cfde1f]{font-size:var(--font-sm);color:var(--c-primary)}.form-msg.err[data-v-44cfde1f]{color:var(--c-danger)}.state[data-v-44cfde1f]{padding:28px 0;text-align:center;color:var(--c-muted)}.state.err[data-v-44cfde1f]{color:var(--c-danger)}.table-wrap[data-v-44cfde1f]{overflow-x:auto;border:1px solid var(--c-border);border-radius:10px;background:#fff}table[data-v-44cfde1f]{width:100%;border-collapse:collapse;font-size:var(--font-md)}th[data-v-44cfde1f],td[data-v-44cfde1f]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap}thead th[data-v-44cfde1f]{font-size:var(--font-sm);color:var(--c-muted);font-weight:600;background:#f4f7f3}tbody tr:last-child td[data-v-44cfde1f]{border-bottom:none}tbody tr[data-v-44cfde1f]:hover{background:#f7faf6}td.name[data-v-44cfde1f]{font-weight:600}.type-chip[data-v-44cfde1f]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.status-chip[data-v-44cfde1f]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.status-chip.active[data-v-44cfde1f],.status-chip.ACTIVATED[data-v-44cfde1f]{background:#e3f4e8;color:var(--c-primary)}.status-chip.IN_STOCK[data-v-44cfde1f]{background:var(--c-info-bg, #e3f2fd);color:var(--c-info-text, #1565c0)}.status-chip.PENDING_INSPECTION[data-v-44cfde1f],.status-chip.SOLD_UNREGISTERED[data-v-44cfde1f],.status-chip.REGISTERED[data-v-44cfde1f]{background:#fff8e1;color:#b26a00}.status-chip.INSPECTION_FAILED[data-v-44cfde1f],.status-chip.IN_REPAIR[data-v-44cfde1f]{background:#fdecea;color:#c62828}.status-chip.RETIRED[data-v-44cfde1f]{background:#eceff1;color:#78909c}.muted[data-v-44cfde1f]{color:var(--c-muted)}.ops[data-v-44cfde1f]{display:flex;gap:6px;flex-wrap:wrap}button.mini[data-v-44cfde1f]{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}button.mini.secondary[data-v-44cfde1f]{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.mini.danger[data-v-44cfde1f]{background:var(--c-danger)}.sub-drawer[data-v-44cfde1f]{border:1px solid var(--c-border);border-radius:10px;background:#fff;padding:14px;margin:0 0 16px}.filter-row[data-v-44cfde1f]{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filter-row input[data-v-44cfde1f],.filter-row select[data-v-44cfde1f]{border:1px solid var(--c-border);border-radius:var(--radius);padding:7px 10px;font:inherit;font-size:var(--font-sm);background:#fff}.page-header[data-v-5d3ce397]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hint[data-v-5d3ce397]{margin:0 0 12px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form[data-v-5d3ce397]{border:1px solid var(--c-border);border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.form-grid[data-v-5d3ce397]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.edit-form label[data-v-5d3ce397]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form input[data-v-5d3ce397],.edit-form select[data-v-5d3ce397]{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--font-base);color:#17211d;background:#fff}.form-actions[data-v-5d3ce397]{display:flex;align-items:center;gap:10px;margin-top:12px}.form-msg[data-v-5d3ce397]{font-size:var(--font-sm);color:var(--c-primary)}.form-msg.err[data-v-5d3ce397]{color:var(--c-danger)}.state[data-v-5d3ce397]{padding:28px 0;text-align:center;color:var(--c-muted)}.state.err[data-v-5d3ce397]{color:var(--c-danger)}.table-wrap[data-v-5d3ce397]{overflow-x:auto;border:1px solid var(--c-border);border-radius:10px;background:#fff}table[data-v-5d3ce397]{width:100%;border-collapse:collapse;font-size:var(--font-md)}th[data-v-5d3ce397],td[data-v-5d3ce397]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap}thead th[data-v-5d3ce397]{font-size:var(--font-sm);color:var(--c-muted);font-weight:600;background:#f4f7f3}tbody tr:last-child td[data-v-5d3ce397]{border-bottom:none}tbody tr[data-v-5d3ce397]:hover{background:#f7faf6}td.name[data-v-5d3ce397]{font-weight:600}.type-chip[data-v-5d3ce397]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.status-chip[data-v-5d3ce397]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.status-chip.active[data-v-5d3ce397],.status-chip.ACTIVATED[data-v-5d3ce397]{background:#e3f4e8;color:var(--c-primary)}.status-chip.IN_STOCK[data-v-5d3ce397]{background:var(--c-info-bg, #e3f2fd);color:var(--c-info-text, #1565c0)}.status-chip.PENDING_INSPECTION[data-v-5d3ce397],.status-chip.SOLD_UNREGISTERED[data-v-5d3ce397],.status-chip.REGISTERED[data-v-5d3ce397]{background:#fff8e1;color:#b26a00}.status-chip.INSPECTION_FAILED[data-v-5d3ce397],.status-chip.IN_REPAIR[data-v-5d3ce397]{background:#fdecea;color:#c62828}.status-chip.RETIRED[data-v-5d3ce397]{background:#eceff1;color:#78909c}.muted[data-v-5d3ce397]{color:var(--c-muted)}.ops[data-v-5d3ce397]{display:flex;gap:6px;flex-wrap:wrap}button.mini[data-v-5d3ce397]{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}button.mini.secondary[data-v-5d3ce397]{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.mini.danger[data-v-5d3ce397]{background:var(--c-danger)}.sub-drawer[data-v-5d3ce397]{border:1px solid var(--c-border);border-radius:10px;background:#fff;padding:14px;margin:0 0 16px}.filter-row[data-v-5d3ce397]{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filter-row input[data-v-5d3ce397],.filter-row select[data-v-5d3ce397]{border:1px solid var(--c-border);border-radius:var(--radius);padding:7px 10px;font:inherit;font-size:var(--font-sm);background:#fff}tbody tr.click-row[data-v-5d3ce397]{cursor:pointer}tbody tr.click-row.on[data-v-5d3ce397]{background:#eef5ea}.mono[data-v-5d3ce397]{font-family:var(--font-mono, monospace)}.mini-link[data-v-5d3ce397]{font-size:var(--btn-font-sm);color:var(--c-primary);text-decoration:none;align-self:center}.sale-form[data-v-5d3ce397]{white-space:normal;background:#fbfdf9}.sale-form[data-v-5d3ce397]{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.sale-form label[data-v-5d3ce397]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-xs);color:var(--c-muted)}.sale-form input[data-v-5d3ce397]{border:1px solid var(--c-border);border-radius:var(--radius);padding:6px 8px;font:inherit;font-size:var(--font-sm);width:170px;background:#fff}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hint{margin:0 0 12px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form{border:1px solid var(--c-border);border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.edit-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form input,.edit-form select{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--font-base);color:#17211d;background:#fff}.form-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.form-msg{font-size:var(--font-sm);color:var(--c-primary)}.form-msg.err{color:var(--c-danger)}.state{padding:28px 0;text-align:center;color:var(--c-muted)}.state.err{color:var(--c-danger)}.table-wrap{overflow-x:auto;border:1px solid var(--c-border);border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse;font-size:var(--font-md)}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap}thead th{font-size:var(--font-sm);color:var(--c-muted);font-weight:600;background:#f4f7f3}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f7faf6}td.name{font-weight:600}.type-chip{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.status-chip{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.status-chip.active,.status-chip.ACTIVATED{background:#e3f4e8;color:var(--c-primary)}.status-chip.IN_STOCK{background:var(--c-info-bg, #e3f2fd);color:var(--c-info-text, #1565c0)}.status-chip.PENDING_INSPECTION,.status-chip.SOLD_UNREGISTERED,.status-chip.REGISTERED{background:#fff8e1;color:#b26a00}.status-chip.INSPECTION_FAILED,.status-chip.IN_REPAIR{background:#fdecea;color:#c62828}.status-chip.RETIRED{background:#eceff1;color:#78909c}.muted{color:var(--c-muted)}.ops{display:flex;gap:6px;flex-wrap:wrap}button.mini{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}button.mini.secondary{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.mini.danger{background:var(--c-danger)}.sub-drawer{border:1px solid var(--c-border);border-radius:10px;background:#fff;padding:14px;margin:0 0 16px}.filter-row{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filter-row input,.filter-row select{border:1px solid var(--c-border);border-radius:var(--radius);padding:7px 10px;font:inherit;font-size:var(--font-sm);background:#fff}.page-header[data-v-4846e88e]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hint[data-v-4846e88e]{margin:0 0 12px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form[data-v-4846e88e]{border:1px solid var(--c-border);border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.form-grid[data-v-4846e88e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.edit-form label[data-v-4846e88e]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.edit-form label.full[data-v-4846e88e]{margin-top:10px}.edit-form input[data-v-4846e88e],.edit-form select[data-v-4846e88e]{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--font-base);color:#17211d;background:#fff}fieldset.caps[data-v-4846e88e]{margin:12px 0 0;border:1px solid var(--c-border);border-radius:8px;padding:10px 12px}fieldset.caps legend[data-v-4846e88e]{font-size:var(--font-sm);color:var(--c-muted);padding:0 4px}.cap-item[data-v-4846e88e]{flex-direction:row!important;align-items:center;gap:6px;display:inline-flex;margin-right:14px;font-size:var(--font-sm)}.cap-item.safety[data-v-4846e88e]{color:var(--c-danger, #c62828)}.params-editor[data-v-4846e88e]{margin-top:12px}.pe-head[data-v-4846e88e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pe-table[data-v-4846e88e]{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.pe-table th[data-v-4846e88e],.pe-table td[data-v-4846e88e]{border:1px solid var(--c-border);padding:4px 6px;text-align:left}.pe-table input[data-v-4846e88e],.pe-table select[data-v-4846e88e]{width:100%;border:1px solid var(--c-border);border-radius:4px;padding:4px 6px;font:inherit;font-size:var(--font-xs)}.pe-table td.center[data-v-4846e88e]{text-align:center}.form-actions[data-v-4846e88e]{display:flex;align-items:center;gap:10px;margin-top:12px}.form-msg[data-v-4846e88e]{font-size:var(--font-sm);color:var(--c-primary)}.form-msg.err[data-v-4846e88e]{color:var(--c-danger)}.state[data-v-4846e88e]{padding:28px 0;text-align:center;color:var(--c-muted)}.state.err[data-v-4846e88e]{color:var(--c-danger)}.sub[data-v-4846e88e]{display:block;color:var(--c-muted);font-weight:400;font-size:var(--font-xs);margin-top:2px;max-width:320px;white-space:normal}.sub2[data-v-4846e88e]{color:var(--c-muted);font-size:var(--font-xs)}.kind-chip[data-v-4846e88e]{display:inline-block;border-radius:999px;padding:2px 10px;font-size:var(--font-xs);background:var(--c-secondary-bg);color:var(--c-secondary-text)}.prio[data-v-4846e88e]{display:inline-block;border-radius:999px;padding:2px 8px;font-size:var(--font-xs);background:#eceff1;color:#546e7a}.prio.safety[data-v-4846e88e]{background:#fdecea;color:#c62828;font-weight:600}.warn[data-v-4846e88e]{color:var(--c-danger, #c62828);font-size:var(--font-xs)}.center[data-v-4846e88e]{text-align:center}.ops[data-v-4846e88e]{display:flex;gap:6px}button.mini[data-v-4846e88e]{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}button.mini.secondary[data-v-4846e88e]{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.mini.danger[data-v-4846e88e]{background:var(--c-danger)}.modal-mask[data-v-4846e88e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.modal[data-v-4846e88e]{background:#fff;border-radius:12px;padding:20px;width:min(520px,92vw);display:flex;flex-direction:column;gap:10px}.modal h3[data-v-4846e88e]{margin:0}.modal label[data-v-4846e88e]{display:flex;flex-direction:column;gap:4px;font-size:var(--font-sm);color:var(--c-muted)}.modal select[data-v-4846e88e],.modal input[data-v-4846e88e]{border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px;font:inherit}.dev-select[data-v-4846e88e]{height:auto}.share-page[data-v-b1c123e3]{max-width:1080px;margin:0 auto;padding:20px 24px 48px;font-family:inherit;color:#1f2d24}.share-head[data-v-b1c123e3]{display:flex;justify-content:space-between;align-items:center}.brand[data-v-b1c123e3]{font-weight:700;color:#14523a;letter-spacing:.5px}.badge[data-v-b1c123e3]{background:#e3f4e8;color:#14523a;border-radius:999px;padding:4px 12px;font-size:12px}.state[data-v-b1c123e3]{padding:60px 0;text-align:center;color:#607268}.state-err[data-v-b1c123e3]{color:#b3261e}.hero h1[data-v-b1c123e3]{margin:18px 0 4px;font-size:22px}.hero .meta[data-v-b1c123e3]{color:#607268;font-size:13px;margin:0 0 18px}.cards[data-v-b1c123e3]{display:grid;gap:16px}.card[data-v-b1c123e3]{background:#fff;border:1px solid #e2e8e4;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #14523a0f}.card-top[data-v-b1c123e3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.conn[data-v-b1c123e3]{font-size:12px;border-radius:999px;padding:2px 10px}.conn.on[data-v-b1c123e3]{background:#e3f4e8;color:#14523a}.conn.off[data-v-b1c123e3]{background:#f1f3f2;color:#7a8a80}.card dl[data-v-b1c123e3]{display:flex;gap:24px;margin:0 0 10px}.card dt[data-v-b1c123e3]{color:#7a8a80;font-size:12px}.card dd[data-v-b1c123e3]{margin:0;font-size:13px}.now[data-v-b1c123e3]{display:flex;gap:18px;flex-wrap:wrap;background:#f4faf6;border-radius:8px;padding:10px 12px;margin:8px 0}.now-item[data-v-b1c123e3]{font-size:13px;color:#43554b}.now-item b[data-v-b1c123e3]{font-size:16px;color:#14523a;margin:0 2px}.trend[data-v-b1c123e3]{margin:6px 0}.trend-label[data-v-b1c123e3]{font-size:12px;color:#7a8a80;margin-bottom:2px}.trend-svg[data-v-b1c123e3]{width:100%;height:64px;display:block;background:#f8fbf9;border-radius:6px}.card h4[data-v-b1c123e3]{margin:14px 0 6px;font-size:14px}.tbl[data-v-b1c123e3]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-b1c123e3],.tbl td[data-v-b1c123e3]{border-bottom:1px solid #eef2f0;padding:6px 8px;text-align:left}.tbl th[data-v-b1c123e3]{color:#7a8a80;font-weight:500;font-size:12px}.plan-status[data-v-b1c123e3]{font-size:12px;border-radius:999px;padding:1px 8px}.plan-status.on[data-v-b1c123e3]{background:#e3f4e8;color:#14523a}.plan-status.off[data-v-b1c123e3]{background:#f1f3f2;color:#7a8a80}.run-result.success[data-v-b1c123e3]{color:#14523a}.run-result.stopped[data-v-b1c123e3]{color:#b26a00}.run-result.failed[data-v-b1c123e3]{color:#b3261e}.water[data-v-b1c123e3]{display:flex;gap:12px;align-items:flex-end;margin:6px 0 4px}.water-day[data-v-b1c123e3]{text-align:center}.bar-wrap[data-v-b1c123e3]{height:80px;width:34px;background:#f1f5f3;border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.bar[data-v-b1c123e3]{width:100%;background:#3f8f5f;border-radius:6px 6px 0 0}.water-v[data-v-b1c123e3]{font-size:11px;margin-top:2px;color:#43554b}.water-d[data-v-b1c123e3]{font-size:11px;color:#90a09a}.share-foot[data-v-b1c123e3]{margin-top:28px;color:#90a09a;font-size:12px;text-align:center}.page[data-v-ae4f57ae]{max-width:1100px;margin:0 auto}.sub[data-v-ae4f57ae]{color:#6b7a72;font-size:13px;margin-top:-6px}.tabs[data-v-ae4f57ae]{display:flex;gap:8px;margin:14px 0}.tabs button.secondary[data-v-ae4f57ae]{background:var(--c-secondary-bg);color:var(--c-secondary-text);border:1px solid var(--c-border);border-bottom:none;border-radius:10px 10px 0 0}.tabs button.secondary.active[data-v-ae4f57ae]{background:#fff;color:var(--c-primary);border-bottom:2px solid var(--c-primary)}.toolbar[data-v-ae4f57ae]{display:flex;gap:8px;margin-bottom:10px}.toolbar button.default[data-v-ae4f57ae],.ops button.default[data-v-ae4f57ae]{background:var(--c-primary);color:#fff}.tbl[data-v-ae4f57ae]{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.tbl th[data-v-ae4f57ae],.tbl td[data-v-ae4f57ae]{padding:8px 10px;border-bottom:1px solid #eef2ef;text-align:left;font-size:13px;vertical-align:top}.tbl.small input[data-v-ae4f57ae],.tbl.small select[data-v-ae4f57ae]{width:90px}.tbl input[data-v-ae4f57ae],.tbl select[data-v-ae4f57ae]{padding:5px 8px;border:1px solid #d6ded8;border-radius:6px;font-size:13px}.chip[data-v-ae4f57ae]{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.chip.published[data-v-ae4f57ae],.chip.running[data-v-ae4f57ae],.chip.passed[data-v-ae4f57ae]{background:#e2f3ea;color:#17694a}.chip.draft[data-v-ae4f57ae],.chip.configuring[data-v-ae4f57ae]{background:#fdf3dc;color:#9a7b16}.chip.deprecated[data-v-ae4f57ae],.chip.disabled[data-v-ae4f57ae]{background:#eee;color:#888}.chip.comm_error[data-v-ae4f57ae],.chip.failed[data-v-ae4f57ae]{background:#fbe9e7;color:#b03a2e}.card[data-v-ae4f57ae]{margin-top:16px;padding:14px 16px;background:#fff;border:1px solid var(--c-border);border-radius:12px}.card h3[data-v-ae4f57ae]{margin:0 0 10px}.grid[data-v-ae4f57ae]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.grid label[data-v-ae4f57ae]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#41564a}.form-ops[data-v-ae4f57ae]{display:flex;gap:8px;margin-top:12px}.pt[data-v-ae4f57ae]{font-size:12px;line-height:1.7}.ops[data-v-ae4f57ae]{display:flex;gap:6px;flex-wrap:wrap}.vals[data-v-ae4f57ae]{display:flex;flex-direction:column}.val b[data-v-ae4f57ae]{color:#17694a}.muted[data-v-ae4f57ae]{color:#98a69e;font-size:12px}.empty[data-v-ae4f57ae]{color:#98a69e;padding:16px 0}.msg[data-v-ae4f57ae]{margin-top:10px;padding:10px 12px;border-radius:8px;background:#e2f3ea;color:#17694a;font-size:13px}.msg.err[data-v-ae4f57ae]{background:#fbe9e7;color:#b03a2e}.hint[data-v-ae4f57ae]{font-size:12px;color:#6b7a72}.help[data-v-ae4f57ae]{margin:0 0 12px;padding:10px 14px;background:#f4faf7;border:1px solid #d8ebe0;border-radius:10px;font-size:12.5px;line-height:1.8;color:#2f4a3c}.help ul[data-v-ae4f57ae],.help ol[data-v-ae4f57ae]{margin:6px 0 2px;padding-left:20px}.help li[data-v-ae4f57ae]{margin:2px 0}code[data-v-ae4f57ae]{background:#f0f4f1;padding:1px 6px;border-radius:5px}.products-shell[data-v-92e5957c]{min-height:100vh;background:var(--bg, #f4f6f8);color:#1f2933;padding:20px clamp(16px,4vw,48px) 48px;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.top[data-v-92e5957c]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand[data-v-92e5957c]{display:flex;align-items:baseline;gap:10px}.brand strong[data-v-92e5957c]{font-size:20px;letter-spacing:.08em}.brand span[data-v-92e5957c]{color:#52606d;font-size:14px}.top-actions[data-v-92e5957c]{display:flex;align-items:center;gap:12px}.ghost-link[data-v-92e5957c]{color:#0f766e;text-decoration:none;font-size:14px}.hero h1[data-v-92e5957c]{margin:6px 0 8px;font-size:clamp(22px,3vw,32px);line-height:1.25}.hero .lead[data-v-92e5957c]{margin:0;color:#52606d;max-width:780px}.eyebrow[data-v-92e5957c]{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#0f766e}.feature-card[data-v-92e5957c]{background:#fff;border-radius:16px;box-shadow:0 10px 34px #0f172a14;overflow:hidden;display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:0}@media(max-width:760px){.feature-card[data-v-92e5957c]{grid-template-columns:1fr}}.feature-media[data-v-92e5957c]{background:#eef2f5;min-height:260px;display:flex;align-items:center;justify-content:center}.feature-media img[data-v-92e5957c]{width:100%;height:100%;object-fit:cover;display:block}.media-placeholder[data-v-92e5957c]{text-align:center;padding:28px 20px;color:#7b8794}.media-placeholder .ph-title[data-v-92e5957c]{margin:0 0 8px;font-weight:600;color:#52606d}.media-placeholder .ph-path[data-v-92e5957c]{margin:0 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.media-placeholder .ph-hint[data-v-92e5957c]{margin:0;font-size:12px}.feature-body[data-v-92e5957c]{padding:24px;display:flex;flex-direction:column;gap:10px}.feature-body h2[data-v-92e5957c]{margin:0;font-size:clamp(19px,2.2vw,24px)}.tagline[data-v-92e5957c]{margin:0;color:#52606d}.points[data-v-92e5957c]{margin:4px 0 0;padding-left:20px;color:#3e4c59;display:flex;flex-direction:column;gap:4px}.points.small[data-v-92e5957c]{font-size:13px}.pill[data-v-92e5957c]{align-self:flex-start;display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#e6f4f1;color:#0f766e}.pill-upcoming[data-v-92e5957c]{background:#fff3e0;color:#b45309}.pill-ok[data-v-92e5957c]{background:#e6f4f1;color:#0f766e}.cta-row[data-v-92e5957c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.mail-line[data-v-92e5957c]{margin:2px 0 0;font-size:13px;color:#52606d}.mail-line a[data-v-92e5957c],.mail-link[data-v-92e5957c]{color:#0f766e}.mail-link[data-v-92e5957c]{font-size:13px}.panel[data-v-92e5957c]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 6px 22px #0f172a0f}.admin-filter[data-v-92e5957c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.admin-filter button.active[data-v-92e5957c]{background:#0f766e;color:#fff}.svc-dot[data-v-92e5957c]{color:#0f766e;font-size:10px;margin-right:2px}.section-title[data-v-92e5957c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h2[data-v-92e5957c]{margin:0;font-size:18px}.form-panel[data-v-92e5957c]{display:flex;flex-direction:column;gap:12px}.field-grid[data-v-92e5957c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.form-panel label[data-v-92e5957c]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3e4c59}.form-panel input[data-v-92e5957c],.form-panel textarea[data-v-92e5957c]{border:1px solid #cbd2d9;border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;color:#1f2933;background:#fff}.full[data-v-92e5957c]{width:100%}.receipt[data-v-92e5957c]{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px}.receipt p[data-v-92e5957c]{margin:0 0 4px}.muted-text[data-v-92e5957c]{color:#7b8794;margin:0}.small[data-v-92e5957c]{font-size:12px}.error[data-v-92e5957c]{color:#b91c1c}.grid[data-v-92e5957c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.mini-card[data-v-92e5957c]{background:#fff;border-radius:14px;padding:18px;box-shadow:0 6px 22px #0f172a0f;display:flex;flex-direction:column;gap:8px}.mini-card h3[data-v-92e5957c]{margin:0;font-size:16px}.mini-card button[data-v-92e5957c]{margin-top:auto;align-self:flex-start}.rows[data-v-92e5957c]{width:100%;border-collapse:collapse;font-size:13px}.rows th[data-v-92e5957c],.rows td[data-v-92e5957c]{text-align:left;padding:8px 10px;border-bottom:1px solid #eef2f5;vertical-align:top}.rows th[data-v-92e5957c]{color:#7b8794;font-weight:600;background:#f8fafb}.row-actions[data-v-92e5957c]{display:flex;flex-direction:column;gap:6px}.foot[data-v-92e5957c]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#7b8794;font-size:13px;border-top:1px solid #e4e7eb;padding-top:14px}.foot a[data-v-92e5957c]{color:#0f766e}button.secondary[data-v-92e5957c]{background:#f1f5f9;color:#1f2933;border:1px solid #cbd2d9}.booking-shell[data-v-aefa613b]{min-height:100vh;background:var(--bg, #f4f6f8);color:#1f2933;padding:20px clamp(16px,4vw,48px) 48px;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.top[data-v-aefa613b]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand[data-v-aefa613b]{display:flex;align-items:baseline;gap:10px}.brand strong[data-v-aefa613b]{font-size:20px;letter-spacing:.08em}.brand span[data-v-aefa613b]{color:#52606d;font-size:14px}.top-actions[data-v-aefa613b]{display:flex;align-items:center;gap:12px}.ghost-link[data-v-aefa613b]{color:#0f766e;text-decoration:none;font-size:14px}.hero h1[data-v-aefa613b]{margin:6px 0 8px;font-size:clamp(22px,3vw,32px);line-height:1.25}.hero .lead[data-v-aefa613b]{margin:0;color:#52606d;max-width:820px}.eyebrow[data-v-aefa613b]{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#0f766e}.service-grid[data-v-aefa613b]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.service-grid[data-v-aefa613b]{grid-template-columns:1fr}}.service-card[data-v-aefa613b]{background:#fff;border-radius:14px;border:1.5px solid transparent;box-shadow:0 6px 22px #0f172a12;padding:18px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.service-card[data-v-aefa613b]:hover{transform:translateY(-2px)}.service-card.active[data-v-aefa613b]{border-color:#0f766e}.service-card h3[data-v-aefa613b]{margin:2px 0 0;font-size:17px}.service-card .audience[data-v-aefa613b]{margin:0;font-size:13px;color:#0f766e;font-weight:600}.service-card .tagline[data-v-aefa613b]{margin:0;font-size:13px;color:#52606d;flex:1}.service-card .choose[data-v-aefa613b]{align-self:flex-start;margin-top:6px;font-size:12px;font-weight:600;color:#0f766e;border:1px solid #cbe3dd;border-radius:999px;padding:3px 12px}.pill[data-v-aefa613b]{align-self:flex-start;display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.pill-free[data-v-aefa613b]{background:#e6f4f1;color:#0f766e}.pill-paid[data-v-aefa613b]{background:#fdeee9;color:#b45309}.detail-grid[data-v-aefa613b]{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}@media(max-width:980px){.detail-grid[data-v-aefa613b]{grid-template-columns:1fr}}.detail[data-v-aefa613b],.form-panel[data-v-aefa613b]{background:#fff;border-radius:14px;box-shadow:0 6px 22px #0f172a12;padding:22px}.detail h2[data-v-aefa613b]{margin:0 0 8px;font-size:21px}.detail h4[data-v-aefa613b]{margin:18px 0 6px;font-size:14px;color:#0f766e}.detail .intro[data-v-aefa613b]{margin:0;color:#3e4c59}.points[data-v-aefa613b]{margin:4px 0 0;padding-left:20px;color:#3e4c59;display:flex;flex-direction:column;gap:4px;font-size:14px}.note[data-v-aefa613b]{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#f5f8f7;color:#52606d;font-size:13px}.muted[data-v-aefa613b]{color:#7b8794}.small[data-v-aefa613b]{font-size:12.5px}.plan-grid[data-v-aefa613b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px}.plan-card[data-v-aefa613b]{border:1px solid #e3e9e6;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px;background:#fdfdfd}.plan-card strong[data-v-aefa613b]{font-size:14px}.plan-card p[data-v-aefa613b]{margin:0}.plan-scale[data-v-aefa613b]{align-self:flex-start;font-size:11.5px;font-weight:600;color:#b45309;background:#fdf3e7;border-radius:999px;padding:2px 9px}.scale-band[data-v-aefa613b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.band-label[data-v-aefa613b]{font-size:12.5px;color:#52606d}.band-chip[data-v-aefa613b]{font-size:12px;padding:3px 10px;border-radius:999px;background:#eef4f2;color:#0f766e}.prod-grid[data-v-aefa613b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px}.prod-card[data-v-aefa613b]{display:flex;flex-direction:column;gap:4px;border:1px solid #e3e9e6;border-radius:10px;padding:12px;text-decoration:none;color:inherit;background:#fdfdfd}.prod-card strong[data-v-aefa613b]{font-size:13.5px;color:#0f766e}.section-title[data-v-aefa613b]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.section-title h2[data-v-aefa613b]{margin:0;font-size:18px}.field-grid[data-v-aefa613b]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:620px){.field-grid[data-v-aefa613b]{grid-template-columns:1fr}}.field-grid label[data-v-aefa613b],label.full[data-v-aefa613b]{display:flex;flex-direction:column;gap:5px;font-size:13px}label.full[data-v-aefa613b]{margin-top:12px}.field-grid input[data-v-aefa613b],label.full textarea[data-v-aefa613b]{border:1px solid #d6e0da;border-radius:8px;padding:9px 10px;font:inherit;font-size:14px;color:#1f2933;background:#fff}.field-grid input[data-v-aefa613b]:focus,label.full textarea[data-v-aefa613b]:focus{outline:2px solid #b9ded3;border-color:#0f766e}.preset-row[data-v-aefa613b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.preset-chip[data-v-aefa613b]{min-height:26px;height:26px;padding:0 11px;font-size:12px;font-weight:600;border-radius:999px;background:#eef4f2;color:#0f766e}.receipt[data-v-aefa613b]{border:1px solid #cbe3dd;background:#f4fbf8;border-radius:10px;padding:14px}.receipt p[data-v-aefa613b]{margin:0 0 6px}.cta-row[data-v-aefa613b]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.mail-link[data-v-aefa613b]{color:#0f766e;font-size:13px}.error[data-v-aefa613b]{color:#b83a2d}.foot[data-v-aefa613b]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#7b8794;font-size:12.5px;border-top:1px solid #e3e9e6;padding-top:14px}.foot a[data-v-aefa613b]{color:#0f766e}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7f3;color:#17211d;--c-primary: #16784f;--c-primary-hover: #0f5c3a;--c-secondary-bg: #e5eee8;--c-secondary-text: #20362c;--c-danger: #b83a2d;--c-info-bg: #e0ecff;--c-info-text: #1a4fb0;--c-border: #d9e4dc;--c-muted: #65796e;--radius: 6px;--btn-h: 36px;--btn-h-sm: 30px;--btn-pad: 0 14px;--btn-pad-sm: 0 12px;--font-xs: 11px;--font-sm: 12px;--font-md: 13px;--font-base: 14px;--font-lg: 16px;--font-xl: 20px;--btn-font: var(--font-base);--btn-font-sm: var(--font-md)}*{box-sizing:border-box}body{margin:0;font-size:var(--font-base)}.page-header h1,.login-panel h1{font-size:var(--font-xl);line-height:1.3}.panel h2{font-size:var(--font-lg)}a{color:inherit;text-decoration:none}button,.text-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);border:0;border-radius:var(--radius);padding:var(--btn-pad);background:var(--c-primary);color:#fff;font:inherit;font-size:var(--btn-font);font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease}button:hover,.text-action:hover{background:var(--c-primary-hover)}button.secondary,.text-action.secondary{background:var(--c-secondary-bg);color:var(--c-secondary-text)}button.secondary:hover,.text-action.secondary:hover{background:#d5e3da}button.danger,.text-action.danger{background:var(--c-danger)}button.danger:hover,.text-action.danger:hover{background:#962d22}button.info,.text-action.info{background:var(--c-info-bg);color:var(--c-info-text)}button.info:hover,.text-action.info:hover{background:#c9ddf7}button:disabled,.text-action:disabled{opacity:.55;cursor:not-allowed}input,select{width:100%;min-height:40px;border:1px solid #cbd8d0;border-radius:6px;padding:0 12px;background:#fff;color:#17211d;font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf6ee,#dcece2)}.login-panel{width:min(100%,380px);display:grid;gap:16px;background:#fff;border:1px solid #d9e4dc;border-radius:8px;padding:28px;box-shadow:0 20px 60px #2142311f}.login-panel h1,.page-header h1{margin:0}.login-panel p,.page-header p{margin:4px 0 0;color:#60766a}.login-panel label{display:grid;gap:8px;font-weight:700}.platform-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;min-height:56px;padding:0 20px;background:#153a2a;color:#fff}.brand-compact{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.brand-compact strong{font-size:var(--font-lg)}.brand-tag{padding:1px 8px;border-radius:999px;background:#ffffff24;color:#b8d2c3;font-size:var(--font-xs);font-weight:700}.topnav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.topnav>a{border-radius:6px;padding:8px 13px;color:#d8eadf;font-weight:600;font-size:var(--font-base);white-space:nowrap}.topnav>a:hover{background:#ffffff1f;color:#fff}.topnav>a.router-link-exact-active{background:#fff;color:#153a2a}.nav-drop{position:relative}.nav-drop-btn{min-height:0;display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:8px 13px;background:transparent;color:#d8eadf;font-weight:600;font-size:var(--font-base);white-space:nowrap}.nav-drop-btn .caret{font-size:var(--font-xs);color:#9db8a9;transition:transform .15s ease}.nav-badge{flex:none;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#d9822b;color:#fff;font-size:var(--font-xs);font-weight:700;line-height:17px;text-align:center}.topnav .nav-drop-btn.active .nav-badge,.topnav .nav-drop:hover .nav-drop-btn .nav-badge{background:#c26f18}.nav-drop.open .caret{transform:rotate(180deg)}.nav-drop:hover .nav-drop-btn,.nav-drop:focus-within .nav-drop-btn{background:#ffffff1f;color:#fff}.topnav .nav-drop-btn.active,.topnav .nav-drop:hover .nav-drop-btn.active,.topnav .nav-drop:focus-within .nav-drop-btn.active{background:#fff;color:#153a2a}.topnav .nav-drop-btn.active .caret{color:#4a6b5b}.drop-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:170px;padding:6px;background:#fff;border:1px solid var(--c-border);border-radius:8px;box-shadow:0 12px 32px #153a2a2e}.nav-drop.open .drop-panel{display:block}.drop-panel a{display:block;border-radius:6px;padding:9px 12px;color:#20362c;font-size:var(--font-base);font-weight:600;white-space:nowrap}.drop-panel a:hover{background:#eef5ef}.drop-panel a.router-link-active{background:#e2f2e8;color:#16784f}.drop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding:8px 8px 4px;border-top:1px solid #edf2ee}.drop-label{color:var(--c-muted);font-size:var(--font-sm);white-space:nowrap}.drop-row select{min-height:30px;font-size:var(--font-md)}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar .whoami{flex-direction:row;align-items:center;gap:8px;margin:0;padding:6px 12px;border:0;border-radius:6px;background:#ffffff1a;color:#d8eadf}.topbar .whoami strong{color:#fff;white-space:nowrap}.topbar .whoami .who-space{color:#b8d2c3;font-size:var(--font-sm);white-space:nowrap}.topbar .logout{min-height:32px;padding:0 12px;font-size:var(--font-md)}.drop-version{margin:6px 8px 2px;padding-top:8px;border-top:1px solid #edf2ee;color:#9aa8a0;font-size:var(--font-xs);white-space:nowrap}.content-shell{min-width:0;padding:24px}.page-stack{display:grid;gap:18px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.console-header{align-items:stretch}.eyebrow{color:#16784f;font-weight:800}.header-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;width:min(100%,780px)}.header-meta div,.metric,.stage-card{border:1px solid #d9e4dc;border-radius:8px;background:#fff;padding:14px}.header-meta span,.metric span,.stage-card span,.plain-list small{display:block;color:#65796e;font-size:var(--font-md)}.header-meta strong,.metric strong{display:block;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{min-width:0;background:#fff;border:1px solid #d9e4dc;border-radius:8px;padding:18px}.panel h2{margin:0 0 16px;font-size:var(--font-lg)}.wide{grid-column:1 / -1}.section-title,.button-row,.inline-form,.inline-check,.plain-list li{display:flex;align-items:center;gap:10px}.section-title,.plain-list li{justify-content:space-between}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.valve-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.valve-button{background:#eef5ef;color:#20362c}.valve-button.active{background:#16784f;color:#fff}.form-grid,.strategy-form,.plan-form{display:grid;gap:10px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-form{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-form{grid-template-columns:1.3fr 120px 160px 100px auto}.timer-form{display:grid;grid-template-columns:1.2fr 110px 100px 1.2fr 140px 90px auto;gap:10px;margin-bottom:16px}.plan-builder{display:grid;gap:10px;margin-bottom:16px}.group-grid{display:grid;grid-template-columns:1fr 100px 1.2fr 130px auto;gap:10px}.group-preview{border:1px solid #d9e4dc;border-radius:6px;padding:10px 12px;background:#f8fbf9;color:#20362c}.mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.pump-row{margin-bottom:14px}.ack-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ack-box div{border:1px solid #edf2ee;border-radius:8px;padding:12px}.ack-box span{display:block;color:#65796e;font-size:var(--font-md)}.ack-box strong{display:block;margin-top:6px}.debug-box{display:grid;gap:10px}.debug-box h3{margin:6px 0 0;font-size:var(--font-base)}.debug-box p{margin:0;color:#20362c}.debug-box pre{max-height:220px;overflow:auto;margin:0;border-radius:8px;background:#13261d;color:#d8eadf;padding:12px;font-size:var(--font-sm)}.span-2{grid-column:span 2}.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.plain-list li{min-height:44px;border-top:1px solid #edf2ee;padding-top:10px}.logs li{align-items:flex-start}.table{display:grid;gap:8px;overflow-x:auto}.table-row{display:grid;grid-template-columns:1.4fr 110px 150px 140px 170px 110px;gap:12px;align-items:center;min-width:880px;border-bottom:1px solid #edf2ee;padding:12px 0}.table-row>*{min-width:0}.table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-head{color:#65796e;font-size:var(--font-md);font-weight:800}.crop-table{grid-template-columns:1fr 1fr 120px 100px 1.5fr 90px}.strategy-table{grid-template-columns:1.2fr 100px 120px 90px 100px 110px 120px 1.4fr 90px;min-width:1100px}.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stage-card{display:grid;gap:12px}.ok-text{color:#16784f}.danger-text{color:#b83a2d}.muted-text,.hint{color:#65796e}.error{color:#b42318}.farm-summary{display:flex;justify-content:space-between;gap:24px;align-items:stretch;flex-wrap:wrap}.farm-summary-main{min-width:240px}.farm-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:12px;min-width:320px;flex:1}.solution-card .text-action,.device-status-card .text-action{display:inline-flex;margin-top:12px;align-items:center}.secondary-link{background:var(--c-secondary-bg);color:var(--c-secondary-text)}.secondary-link:hover{background:#d5e3da}.telemetry-list code{display:block;margin-top:4px;font-size:var(--font-sm);color:#44584e;word-break:break-all}.debug-pre{margin:12px 0 0;padding:12px;border-radius:6px;background:#0f241c;color:#d7f0e2;overflow:auto;font-size:var(--font-sm)}.device-table .table-row{grid-template-columns:minmax(0,1.5fr) 150px 120px 140px 170px 160px;min-width:920px}.device-table .button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row .text-action,.button-row button{min-height:var(--btn-h-sm);padding:var(--btn-pad-sm);font-size:var(--btn-font-sm)}.status-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px;border-radius:999px;font-size:var(--font-sm);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.status-online{background:#e2f2e8;color:#16784f}.status-badge.status-offline{background:#f9e8e5;color:#b83a2d}.status-badge.status-unknown{background:#eef1ee;color:#5b6672}.type-chip{display:inline-block;max-width:100%;padding:3px 10px;border-radius:999px;background:#f0f4f1;color:#44584e;font-size:var(--font-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.telemetry-history{margin-top:16px}.summary-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.alarms-panel .plain-list li{align-items:flex-start}.device-type-panel .pump-row{flex-wrap:wrap}@media(max-width:980px){.topbar{flex-wrap:wrap;gap:10px;padding:10px 16px}.topbar .whoami .who-space{display:none}.header-meta,.dashboard-grid,.form-grid,.strategy-form,.plan-form,.timer-form,.group-grid,.mode-grid,.ack-box,.farm-summary-stats{grid-template-columns:1fr}.valve-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section-title,.page-header{align-items:stretch;flex-direction:column}}@media(max-width:560px){.content-shell{padding:16px}.valve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row,.plain-list li{align-items:stretch;flex-direction:column}}[dir=rtl] .platform-shell{direction:rtl}[dir=rtl] .page-header,[dir=rtl] .section-title,[dir=rtl] .header-meta,[dir=rtl] .table-row,[dir=rtl] .plain-list li,[dir=rtl] .button-row,[dir=rtl] .metric-grid,[dir=rtl] .farm-summary-stats{direction:rtl;text-align:right}[dir=rtl] .table-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}[dir=rtl] .locale-switcher select{text-align:right}.whoami{margin:16px 0 4px;padding:10px 12px;border:1px solid var(--border, rgba(128, 128, 128, .25));border-radius:8px;display:flex;flex-direction:column;gap:5px;font-size:var(--font-sm);line-height:1.5}.whoami strong{font-size:var(--font-md)}.whoami .role-tag{align-self:flex-start}.role-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--font-xs);line-height:18px;white-space:nowrap}.role-super_admin{background:#a020201f;color:#a02020}.role-admin{background:#166e3c1f;color:#166e3c}.role-operator{background:#145aaa1f;color:#145aaa}.role-viewer{background:#78787824;color:#555}.row-actions{display:inline-flex;gap:10px}.row-actions .text-action{cursor:pointer}
