.brand[data-v-2c8664e2]{display:grid;gap:.8rem;justify-items:center;margin-bottom:1.35rem;text-align:center}.brand h1[data-v-2c8664e2]{margin:0;color:var(--color-text);font-size:1.35rem;font-weight:600}.validation-box[data-v-2c8664e2]{margin-top:.85rem;padding:10px 12px;border-radius:var(--radius-md);font-size:.95rem}.validation-box.error[data-v-2c8664e2]{background-color:var(--message-error-bg);color:var(--message-error-text);border:1px solid var(--message-error-border)}.fade-status-enter-active[data-v-2c8664e2],.fade-status-leave-active[data-v-2c8664e2]{transition:opacity .5s ease}.fade-status-enter-from[data-v-2c8664e2],.fade-status-leave-to[data-v-2c8664e2]{opacity:0}input[type=email][data-v-2c8664e2],input[type=password][data-v-2c8664e2]{width:100%;height:var(--control-height-lg);padding:0 var(--control-padding-x);margin:6px 0 14px;display:inline-block;border:1px solid var(--control-border);border-radius:var(--radius-md);background-color:var(--control-bg);color:var(--control-text);box-sizing:border-box;box-shadow:var(--shadow-control);outline:none;transition:border-color .18s ease,box-shadow .18s ease}input[type=email][data-v-2c8664e2]:focus,input[type=password][data-v-2c8664e2]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}label[data-v-2c8664e2]{display:block;color:var(--color-text-muted);font-size:.9rem;font-weight:600}input[type=submit][data-v-2c8664e2]{width:100%;height:var(--control-height-lg);background-color:var(--color-primary);color:var(--color-on-primary);padding:0 20px;margin:4px 0 0;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1.05rem;font-weight:700;box-shadow:var(--shadow-control);transition:background-color .18s ease,transform .18s ease}input[type=submit][data-v-2c8664e2]:hover{background-color:var(--color-primary-hover)}input[type=submit][data-v-2c8664e2]:active{transform:translateY(1px)}div.container[data-v-2c8664e2]{position:relative;overflow:hidden;display:grid;place-items:center;height:100%;padding:1rem;background:var(--color-bg)}.login-bg[data-v-2c8664e2]{position:absolute;inset:0;z-index:0}.login-bg-layer[data-v-2c8664e2]{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transition:opacity 1.8s ease-in-out}.login-bg-layer.active[data-v-2c8664e2]{opacity:1}.login-bg[data-v-2c8664e2]:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,212,191,.14),transparent 34%),linear-gradient(315deg,rgba(244,63,94,.14),transparent 28%),rgba(0,0,0,.55)}div.container2[data-v-2c8664e2]{position:relative;z-index:1;width:min(88vw,420px);box-sizing:border-box;padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:color-mix(in srgb,var(--color-surface) 50%,transparent);backdrop-filter:blur(6px);box-shadow:var(--shadow-panel)}div.container2 img[data-v-2c8664e2]{display:block;width:min(230px,78%);height:auto}@media (max-width:480px){.brand[data-v-2c8664e2]{gap:.65rem;margin-bottom:1.1rem}.brand h1[data-v-2c8664e2]{font-size:1.2rem}div.container[data-v-2c8664e2]{padding:.85rem;place-items:center}div.container2[data-v-2c8664e2]{width:min(92vw,420px);padding:22px}div.container2 img[data-v-2c8664e2]{width:min(210px,76%)}}svg[data-v-eadc738e]{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;padding:.5em;box-sizing:border-box}.time-range-picker[data-v-17ea99ca]{position:relative;width:100%}.range-trigger[data-v-17ea99ca]{width:100%;box-sizing:border-box;text-align:left}.calendar-popover[data-v-17ea99ca]{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:min(330px,calc(100vw - 2em));padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-panel);color:var(--color-text)}.calendar-header[data-v-17ea99ca]{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;margin-bottom:10px}.calendar-header span[data-v-17ea99ca]{font-weight:600;text-align:center;text-transform:capitalize}.calendar-day[data-v-17ea99ca],.calendar-header button[data-v-17ea99ca]{border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer}.calendar-header button[data-v-17ea99ca]{height:34px;font-size:1.4em;transition:background-color .18s ease}.calendar-grid[data-v-17ea99ca],.weekdays[data-v-17ea99ca]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays span[data-v-17ea99ca]{padding:6px 0;color:var(--color-text-muted);font-size:.75em;text-align:center}.calendar-day[data-v-17ea99ca]{aspect-ratio:1;padding:0;font-size:.9em;transition:background-color .18s ease,color .18s ease}.calendar-day[data-v-17ea99ca]:hover,.calendar-header button[data-v-17ea99ca]:hover{background:var(--color-primary-soft)}.calendar-day[data-v-17ea99ca]:disabled{cursor:default}.calendar-day.is-muted[data-v-17ea99ca]{color:var(--color-text-muted)}.calendar-day.is-disabled[data-v-17ea99ca]{color:var(--color-text-muted);background:var(--color-surface-muted)}.calendar-day.is-in-range[data-v-17ea99ca]{background:var(--color-primary-soft)}.calendar-day.is-edge[data-v-17ea99ca]{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.calendar-day.is-pending[data-v-17ea99ca]{outline:2px solid var(--color-primary-hover);outline-offset:-2px}div.events[data-v-0f3dbbe2]{height:100%;display:grid;grid-gap:.55em;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;--download-col-width:130px;padding:.65em;box-sizing:border-box;background-color:var(--color-surface)}.labels-row[data-v-0f3dbbe2]{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) var(--download-col-width);gap:.5em}.labels-row span[data-v-0f3dbbe2]{padding:0 4px;font-size:.8em;color:var(--color-text-muted);font-weight:600}.labels-row span[data-v-0f3dbbe2]:last-child{padding:0}.controls-row[data-v-0f3dbbe2]{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) var(--download-col-width);gap:.5em}.controls-row.no-range[data-v-0f3dbbe2]{grid-template-columns:var(--download-col-width);justify-self:end}.controls-row button[data-v-0f3dbbe2],div.events[data-v-0f3dbbe2] .range-trigger{border:1px solid var(--control-border);box-sizing:border-box;background-color:var(--control-bg);color:var(--control-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:var(--control-height-lg);width:100%;padding:0 var(--control-padding-x);border-radius:var(--radius-md);font-family:Roboto;font-size:1.2em}.controls-row button[data-v-0f3dbbe2]{background-color:var(--color-primary);color:var(--color-on-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .18s ease}.controls-row button[data-v-0f3dbbe2] svg{width:22px;height:22px;stroke-width:2;pointer-events:none}.controls-row button[data-v-0f3dbbe2]:hover{background-color:var(--color-primary-hover)}.table-wrapper[data-v-0f3dbbe2]{grid-column:1;grid-row:3;overflow-y:auto}table[data-v-0f3dbbe2]{font-size:17px;width:100%;background-color:var(--table-bg);color:var(--table-text);border-collapse:collapse;text-align:left}th[data-v-0f3dbbe2]{font-size:18px;background-color:var(--table-header-bg);color:var(--table-header-text);position:sticky;top:0;padding:8px 10px;z-index:1}.column-filter[data-v-0f3dbbe2]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-right:8px}.column-filter span[data-v-0f3dbbe2]{flex:0 0 auto}.column-filter input[data-v-0f3dbbe2]{flex:1 1 120px;min-width:0;box-sizing:border-box;border:1px solid var(--control-border);background-color:var(--control-bg);color:var(--control-text);border-radius:var(--radius-sm);padding:5px 7px;font-family:Roboto;font-size:.8em}td[data-v-0f3dbbe2]{border-bottom:1px solid var(--table-border);font-weight:500;padding:7px 10px}tbody tr[data-v-0f3dbbe2]:nth-child(2n){background-color:hsla(0,0%,100%,.28)}tbody tr[data-v-0f3dbbe2]:hover{background-color:var(--color-primary-soft)}.empty-row td[data-v-0f3dbbe2]{background-color:var(--color-warning-soft,rgba(200,160,0,.15));color:rgba(0,0,0,.65);text-align:center;font-style:italic}div.charts[data-v-c0e6bab0]{height:100%;display:grid;grid-gap:.55em;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;--download-col-width:130px;padding:.65em;box-sizing:border-box;background-color:var(--color-surface)}.labels-row[data-v-c0e6bab0]{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) var(--download-col-width);gap:.5em}.labels-row .range-label[data-v-c0e6bab0]{grid-column:1/span 2}.controls-row.no-range[data-v-c0e6bab0],.labels-row.no-range[data-v-c0e6bab0]{grid-template-columns:minmax(0,1fr) var(--download-col-width)}.labels-row span[data-v-c0e6bab0]{padding:0 4px;font-size:.8em;color:var(--color-text-muted);font-weight:600}.controls-row[data-v-c0e6bab0]{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) var(--download-col-width);gap:.5em}div.charts[data-v-c0e6bab0] .time-range-picker{grid-column:1/span 2}.controls-row button[data-v-c0e6bab0],.controls-row select[data-v-c0e6bab0],div.charts[data-v-c0e6bab0] .range-trigger{border:1px solid var(--control-border);box-sizing:border-box;background-color:var(--control-bg);color:var(--control-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:var(--control-height-lg);width:100%;padding:0 var(--control-padding-x);border-radius:var(--radius-md);font-family:Roboto;font-size:1.2em}.controls-row button[data-v-c0e6bab0]{background-color:var(--color-primary);color:var(--color-on-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .18s ease}.controls-row button[data-v-c0e6bab0] svg{width:22px;height:22px;stroke-width:2;pointer-events:none}.controls-row button[data-v-c0e6bab0]:hover{background-color:var(--color-primary-hover)}.labels-row span[data-v-c0e6bab0]:last-child{padding:0}.chart-canvas[data-v-c0e6bab0]{grid-column:1;grid-row:3;min-height:0;background-color:transparent;overflow:hidden}div.charts canvas[data-v-c0e6bab0]{display:block;width:100%;height:100%}.map-tool-menu[data-v-a79aa094]{position:absolute;z-index:1300;display:flex;flex-direction:column;min-width:210px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}.map-tool-menu-item[data-v-a79aa094]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:var(--radius-md);background-color:transparent;color:var(--color-text);font-size:.9rem;text-align:left;cursor:pointer;white-space:nowrap}.map-tool-menu-item[data-v-a79aa094]:hover{background-color:var(--color-primary-soft)}.map-tool-menu-icon[data-v-a79aa094]{font-size:1.1rem;line-height:1}.modal-overlay[data-v-fdc65dbe]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:rgba(0,0,0,.45);box-sizing:border-box;pointer-events:auto}.modal-box[data-v-fdc65dbe]{display:flex;flex-direction:column;gap:var(--space-xs);width:100%;max-width:420px;max-height:100%;overflow-y:auto;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-elevated);color:var(--color-text);box-shadow:var(--shadow-panel);box-sizing:border-box}.modal-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.modal-title{font-size:1.1em;font-weight:700}.modal-title--warning{color:var(--color-warning)}.modal-title--error{color:var(--color-danger)}.modal-message{margin:0;color:var(--color-text)}.modal-label{font-size:.85em;color:var(--color-text-muted);margin-top:var(--space-xs)}.modal-input{width:100%;box-sizing:border-box;font-size:1em;padding:0 var(--control-padding-x);height:var(--control-height-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);box-shadow:var(--shadow-control)}.modal-counter{align-self:flex-end;font-size:.78em;color:var(--color-text-muted)}.modal-error{font-size:.82em;color:var(--color-danger)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.modal-button{height:var(--control-height-md);padding:0 var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14px;cursor:pointer}.modal-button--secondary{background-color:var(--color-surface-muted);color:var(--color-text)}.modal-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);font-weight:700}.modal-button--primary:disabled{opacity:.45;cursor:default}.marker-dialog-geoloc[data-v-682fe28d]{font-size:.82em;color:var(--color-text-muted);white-space:nowrap}.marker-type-select[data-v-682fe28d]{position:relative}.marker-type-trigger[data-v-682fe28d]{width:100%;display:flex;align-items:center;gap:10px;box-sizing:border-box;font-family:var(--font-sans);font-size:14px;padding:0 var(--control-padding-x);height:var(--control-height-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);box-shadow:var(--shadow-control);cursor:pointer;text-align:left}.marker-type-placeholder[data-v-682fe28d]{color:var(--color-text-muted)}.marker-type-chevron[data-v-682fe28d]{margin-left:auto;width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0}.marker-type-menu[data-v-682fe28d]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:260px;overflow-y:auto;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}.marker-type-option[data-v-682fe28d]{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:var(--radius-md);background-color:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:14px;text-align:left;cursor:pointer}.marker-type-option[data-v-682fe28d]:hover{background-color:var(--color-primary-soft)}.marker-type-icon[data-v-682fe28d]{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.marker-type-icon img[data-v-682fe28d]{width:16px;height:16px;filter:brightness(0) invert(1)}.marker-dialog-textarea[data-v-682fe28d]{height:auto;padding:var(--space-sm) var(--control-padding-x);resize:vertical;font-family:var(--font-sans)}.map-root[data-v-68ce84f6]{position:relative;height:100%;width:100%}div.map[data-v-68ce84f6]{height:100%;width:100%}.map-placement-hint[data-v-68ce84f6]{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:1100;padding:8px 16px;border-radius:var(--radius-md);background-color:var(--color-bg-elevated);color:var(--color-text);box-shadow:var(--shadow-panel);font-size:.9em}.view-selector[data-v-e195d9f0]{flex:1 1 auto;min-width:0}.vs-trigger[data-v-e195d9f0]{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;height:var(--control-height-lg);padding:0 var(--control-padding-x);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);box-shadow:var(--shadow-control);cursor:pointer;font-size:1.08em}.vs-trigger[data-v-e195d9f0]:disabled{opacity:.6;cursor:default}.vs-trigger-label[data-v-e195d9f0]{flex:1 1 auto;min-width:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vs-chevron[data-v-e195d9f0]{width:18px;height:18px;flex:0 0 auto;transition:transform .15s ease}.vs-chevron.open[data-v-e195d9f0]{transform:rotate(180deg)}.vs-popover[data-v-e195d9f0]{z-index:1200;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;max-height:70vh;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}.vs-search[data-v-e195d9f0]{height:var(--control-height-sm);flex-shrink:0;padding:0 var(--control-padding-x);border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--control-bg);color:var(--control-text);box-sizing:border-box}.vs-search[data-v-e195d9f0]::-moz-placeholder{color:var(--color-text-muted)}.vs-search[data-v-e195d9f0]::placeholder{color:var(--color-text-muted)}.vs-type-filters[data-v-e195d9f0]{display:flex;flex-wrap:wrap;flex-shrink:0;gap:6px}.vs-chip[data-v-e195d9f0]{padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background-color:transparent;color:var(--color-text-muted);font-size:.85em;cursor:pointer}.vs-chip.active[data-v-e195d9f0]{background-color:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-text)}.vs-devtype-select[data-v-e195d9f0]{height:var(--control-height-sm);flex-shrink:0;padding:0 28px 0 var(--control-padding-x);border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--control-bg);color:var(--control-text);box-sizing:border-box;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.vs-list[data-v-e195d9f0]{overflow-y:auto;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:2px}.vs-group-label[data-v-e195d9f0]{margin-top:6px;padding:2px 4px;font-size:.78em;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}.vs-item[data-v-e195d9f0]{display:flex;align-items:center;gap:6px;padding:8px 8px;border:none;border-radius:var(--radius-sm);background-color:transparent;color:var(--color-text);text-align:left;cursor:pointer}.vs-item[data-v-e195d9f0]:hover{background-color:var(--color-primary-soft)}.vs-item.active[data-v-e195d9f0]{background-color:var(--bottom-nav-active-bg)}.vs-status[data-v-e195d9f0]{flex:0 0 auto;width:1em}.vs-empty[data-v-e195d9f0]{padding:10px;text-align:center;color:var(--color-text-muted)}div.wrapper[data-v-1151c124]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100%;width:100%;min-height:0;min-width:0;box-sizing:border-box;border:1px solid var(--color-border);position:relative}.wrapper-maximized .middle[data-v-1151c124]{grid-row:1/-1}.floating-buttons[data-v-1151c124]{position:absolute;top:12px;right:12px;z-index:1100;display:flex;gap:8px}.floating-button[data-v-1151c124]{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-panel)}.floating-button[data-v-1151c124]:hover{background-color:var(--color-primary-soft)}.floating-button[data-v-1151c124] svg{width:22px;height:22px}.topbar[data-v-1151c124]{grid-column:1;grid-row:1;position:relative;z-index:1000;display:flex;align-items:center;gap:6px;padding:5px;background-color:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-control)}div.middle[data-v-1151c124]{background-color:var(--color-surface);grid-column:1;grid-row:2;min-height:0;overflow:hidden;position:relative}.nav-picker[data-v-1151c124]{position:relative;flex:0 0 auto}.nav-popover[data-v-1151c124]{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;display:flex;gap:4px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}.nav-button[data-v-1151c124]{display:grid;place-items:center;width:var(--control-height-lg);height:var(--control-height-lg);padding:0;margin:0;border:1px solid transparent;border-radius:var(--radius-md);background-color:transparent;color:var(--color-text-muted);cursor:pointer;opacity:.72;transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.nav-button[data-v-1151c124]:disabled{opacity:.35;cursor:default}.nav-button[data-v-1151c124]:hover{background-color:var(--color-primary-soft);border-color:var(--color-border);color:var(--color-text);opacity:1}.nav-button.active[data-v-1151c124]{background-color:var(--bottom-nav-active-bg);border-color:var(--color-primary);color:var(--color-text);opacity:1}.nav-close[data-v-1151c124]{margin-left:4px;padding-left:4px;border-left:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0}.nav-close[data-v-1151c124]:hover{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-primary)}.nav-button[data-v-1151c124] svg{width:20px;height:20px;stroke-width:2;pointer-events:none}.nav-popover .nav-button[data-v-1151c124]{width:60px;height:60px}.nav-popover .nav-button[data-v-1151c124] svg{width:26px;height:26px}.confirm-overlay[data-v-1151c124]{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:12px;display:flex;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.confirm-button[data-v-1151c124]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:10px;height:64px;font-size:1.3em;font-weight:700;letter-spacing:.01em;background-color:var(--color-surface-muted);color:var(--color-text);padding:0 var(--control-padding-x);margin:0;border:2px solid var(--color-danger);border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--color-danger),0 8px 20px rgba(0,0,0,.45);cursor:pointer}.confirm-icon[data-v-1151c124]{font-size:1.2em;line-height:1}.blink[data-v-1151c124]{animation:blinkBackground-1151c124 1s infinite}.confirm-button.success[data-v-1151c124]{background-color:var(--color-success);color:#fff;border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success),0 8px 20px rgba(0,0,0,.45)}@keyframes blinkBackground-1151c124{0%{background:var(--color-surface-muted)}50%{background:var(--color-danger)}to{background:var(--color-surface-muted)}}@keyframes spinner-1151c124{to{transform:rotate(1turn)}}.spinner[data-v-1151c124]:before{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;width:200px;height:200px;margin-top:-100px;margin-left:-100px;border-radius:50%;z-index:10;border:20px solid transparent;border-top-color:var(--color-primary);border-bottom-color:var(--color-primary);animation:spinner-1151c124 .8s ease infinite}.grid-layout[data-v-5bc08f1e]{display:grid;position:relative;gap:4px;height:100%;width:100%;min-height:0;box-sizing:border-box;padding:4px;background-color:var(--color-bg);overflow:hidden}.grid-modal-root[data-v-5bc08f1e]{position:absolute;inset:4px;z-index:2500;pointer-events:none}.sidenav[data-v-2abaf252]{display:flex;flex-direction:column;height:100%;width:0;position:fixed;z-index:2100;top:0;left:0;background-color:var(--color-bg-elevated);overflow-x:hidden;overflow-y:auto;transition:.5s;padding-top:60px}.showSideNav[data-v-2abaf252]{width:250px}.menu-list[data-v-2abaf252]{display:grid;gap:2px;padding:0 10px 20px}.menu-item[data-v-2abaf252],.submenu-item[data-v-2abaf252]{width:100%;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:inherit;text-align:left;transition:background-color .2s ease,color .2s ease}.menu-item[data-v-2abaf252]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px 11px 20px;border-radius:var(--radius-md);font-size:22px}.menu-item.open[data-v-2abaf252],.menu-item[data-v-2abaf252]:hover,.submenu-item[data-v-2abaf252]:hover{background-color:var(--color-primary-soft);color:var(--color-text)}.chevron[data-v-2abaf252]{transform:rotate(0deg);transition:transform .2s ease}.menu-item.open .chevron[data-v-2abaf252]{transform:rotate(90deg)}.submenu[data-v-2abaf252]{display:grid;gap:2px;max-height:0;overflow-y:auto;overflow-x:hidden;transition:max-height .25s ease}.submenu.open[data-v-2abaf252]{max-height:45vh}.submenu-item[data-v-2abaf252]{padding:9px 12px 9px 34px;border-radius:var(--radius-md);font-size:18px}.submenu-row[data-v-2abaf252]{display:flex;align-items:center}.submenu-row .submenu-item[data-v-2abaf252]{flex:1;min-width:0}.submenu-delete[data-v-2abaf252]{flex-shrink:0;width:34px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:20px;line-height:1}.submenu-delete[data-v-2abaf252]:hover{background-color:var(--color-primary-soft);color:var(--color-danger)}.sidenav .closebtn[data-v-2abaf252]{position:absolute;top:0;right:25px;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:36px;margin-left:50px}@media screen and (max-height:450px){.sidenav[data-v-2abaf252]{padding-top:15px}.menu-item[data-v-2abaf252]{font-size:18px}.submenu-item[data-v-2abaf252]{font-size:16px}}.item-list-shell[data-v-377d010e]{flex:1;min-height:0;position:relative;display:flex}.item-list-table[data-v-377d010e]{flex:1;overflow:auto;min-height:0;border:1px solid var(--table-border);border-radius:var(--radius-md);color:var(--table-text);background:var(--table-bg);display:flex;flex-direction:column;scrollbar-width:none}.item-list-table[data-v-377d010e]::-webkit-scrollbar{width:0;height:0}.floating-scrollbar[data-v-377d010e]{position:absolute;top:1px;right:3px;bottom:1px;width:8px;z-index:3;pointer-events:none}.floating-scrollbar-thumb[data-v-377d010e]{width:6px;border-radius:999px;background-color:var(--color-border-strong);box-shadow:0 0 0 1px rgba(0,0,0,.08);opacity:.82}.checkbox-col[data-v-377d010e]{width:1%;min-width:30px;max-width:30px;padding:2px!important;text-align:center}.checkbox-col input[type=checkbox][data-v-377d010e]{transform:scale(1.1);margin:0}.custom-input[data-v-377d010e]{width:100%;padding:6px 10px;font-size:.95rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--control-bg);color:var(--control-text);box-sizing:border-box}.custom-wrapper[data-v-377d010e]{display:flex;align-items:center;gap:8px}table[data-v-377d010e]{width:100%;border-collapse:collapse;table-layout:fixed;background-color:var(--table-bg)}td[data-v-377d010e],th[data-v-377d010e]{padding:10px 10px;border-bottom:1px solid var(--table-border);text-align:left;word-wrap:anywhere}thead th[data-v-377d010e]{position:sticky;top:0;background-color:var(--table-header-bg);color:var(--table-header-text);font-weight:700;z-index:1;box-shadow:var(--shadow-control)}tbody tr[data-v-377d010e]:nth-child(2n){background-color:hsla(0,0%,100%,.28)}tbody tr[data-v-377d010e]:hover{background-color:var(--color-primary-soft)}.actions[data-v-377d010e]{width:120px;text-align:right}.user-views-manager[data-v-5a1343e2]{flex-shrink:0;flex-grow:0;width:100%}.usage-bar[data-v-0ea1e75f]{display:flex;align-items:center;gap:10px;margin:10px 0}.usage-bar h3[data-v-0ea1e75f]{width:40%;flex:0 0 40%;margin:0;font-size:1rem;font-weight:500;color:var(--color-text);text-align:right}.usage-row[data-v-0ea1e75f]{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.bar-container[data-v-0ea1e75f]{flex:1 1 auto;height:16px;background:var(--color-surface-muted);border-radius:6px;overflow:hidden}.bar-fill[data-v-0ea1e75f]{height:100%;background:var(--color-primary);transition:width .3s ease}.bar-fill.overLimit[data-v-0ea1e75f]{background:var(--color-danger)}.info-box[data-v-0ea1e75f]{flex:0 0 76px;width:76px;box-sizing:border-box;font-size:.95rem;padding:6px 10px;border-radius:4px;color:var(--color-text);text-align:center;white-space:nowrap}.info-box.warning[data-v-0ea1e75f]{background:var(--message-error-bg);color:var(--message-error-text);border:1px solid var(--message-error-border)}@media (max-width:699px){.usage-bar[data-v-0ea1e75f]{flex-direction:column;align-items:stretch;gap:4px}.usage-bar h3[data-v-0ea1e75f]{width:auto;flex:none;text-align:left}}.customer-usage[data-v-69c317db]{margin-top:20px}@media (min-width:700px){.customer-usage[data-v-69c317db]{max-width:50%}}.subscription-button[data-v-59a55db3]{margin-top:16px}.status-box[data-v-59a55db3]{background-color:var(--control-bg);border:1px solid var(--control-border);color:var(--control-text);padding:10px 14px;margin-bottom:12px;border-radius:6px;font-size:.95rem;display:grid;gap:4px}.status-box.status-ok[data-v-59a55db3]{background-color:var(--message-success-bg);border-color:var(--message-success-border);color:var(--message-success-text)}.status-box.status-warning[data-v-59a55db3]{background-color:var(--message-warning-bg);border-color:var(--message-warning-border);color:var(--message-warning-text)}.status-box.status-error[data-v-59a55db3]{background-color:var(--message-error-bg);border-color:var(--message-error-border);color:var(--message-error-text)}.status-box.status-default[data-v-59a55db3]{background-color:var(--control-bg);border-color:var(--control-border);color:var(--control-text)}button[data-v-59a55db3]{width:100%;padding:14px 18px;font-size:1rem;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease-in-out}.subscribe[data-v-59a55db3]{background-color:var(--color-success);color:var(--color-text)}.subscribe[data-v-59a55db3]:hover{filter:brightness(.92)}.cancel[data-v-59a55db3]{background-color:var(--color-danger);color:var(--color-text)}.cancel[data-v-59a55db3]:hover{filter:brightness(.92)}.dyn-form-shell[data-v-ec45fb5a]{position:relative;display:flex;flex-direction:column;flex-grow:1;overflow:hidden;min-height:0;max-width:1400px;margin:auto;padding:20px 0;box-sizing:border-box;color:var(--color-text);font-family:Roboto,sans-serif}.dyn-form[data-v-ec45fb5a]{flex-grow:1;overflow-y:auto;min-height:0;padding:0 48px;box-sizing:border-box;scrollbar-width:none}.dyn-form[data-v-ec45fb5a]::-webkit-scrollbar{width:0;height:0}.floating-scrollbar[data-v-ec45fb5a]{position:absolute;top:1px;right:3px;bottom:1px;width:8px;z-index:3;pointer-events:none}.floating-scrollbar-thumb[data-v-ec45fb5a]{width:6px;border-radius:999px;background-color:var(--color-border-strong);box-shadow:0 0 0 1px rgba(0,0,0,.08);opacity:.82}.title[data-v-ec45fb5a]{text-align:center;margin-bottom:1.5rem;padding:0 48px;box-sizing:border-box;font-size:1.6rem;font-weight:700;color:var(--color-text)}form[data-v-ec45fb5a]{flex-grow:1;display:flex;flex-direction:column;gap:1.5rem;padding-right:4px}legend[data-v-ec45fb5a]{font-weight:700;margin-top:.8rem;font-size:1.2rem;color:var(--color-text);text-align:center}fieldset[data-v-ec45fb5a]{border:none;padding:0;margin:0}.two-column[data-v-ec45fb5a]{display:flex;flex-direction:column;gap:20px;min-width:0}.two-column .col[data-v-ec45fb5a]{display:flex;flex-direction:column;gap:10px;min-width:0}@media (min-width:700px){.two-column[data-v-ec45fb5a]{flex-direction:row}.two-column .col[data-v-ec45fb5a]{width:100%}}.field[data-v-ec45fb5a]{display:flex;align-items:center;gap:10px}.field label[data-v-ec45fb5a]{width:40%;font-weight:500;color:var(--color-text);text-align:right}.required-mark[data-v-ec45fb5a]{color:var(--color-danger)}.field input[type=password][data-v-ec45fb5a],.field input[type=text][data-v-ec45fb5a],.field select[data-v-ec45fb5a]{flex:1;min-width:0;height:var(--control-height-md);padding:0 var(--control-padding-x);border:1px solid var(--control-border);border-radius:var(--radius-md);background-color:var(--control-bg);color:var(--control-text);box-sizing:border-box;font-size:1rem;line-height:1.5;appearance:none;-webkit-appearance:none;-moz-appearance:none;box-shadow:var(--shadow-control)}.field input[type=checkbox][data-v-ec45fb5a]{transform:scale(1.3)}.field input[data-v-ec45fb5a]:disabled,.field select[data-v-ec45fb5a]:disabled{background-color:var(--control-bg-muted)!important;color:var(--color-text-muted)!important;border:1px solid var(--color-border)!important;cursor:not-allowed;opacity:1}.field input[readonly][data-v-ec45fb5a]{background-color:var(--control-bg-muted);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:not-allowed}.ro-value[data-v-ec45fb5a]{flex:1;min-width:0;min-height:var(--control-height-md);padding:0 var(--control-padding-x);display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);box-sizing:border-box;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.form-actions[data-v-ec45fb5a]{text-align:right;margin-top:1rem}button[type=submit][data-v-ec45fb5a]{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--color-primary);color:var(--color-on-primary);height:var(--control-height-lg);padding:0 20px;margin-top:12px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;transition:background-color .2s ease-in-out}button[type=submit][data-v-ec45fb5a]:hover{background-color:var(--color-primary-hover)}button.cancel[data-v-ec45fb5a]{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--color-surface-muted);color:var(--color-text);margin-left:10px;height:var(--control-height-lg);padding:0 20px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;transition:background-color .2s ease-in-out}button.cancel[data-v-ec45fb5a]:hover{background-color:var(--color-surface-raised)}.password-field[data-v-ec45fb5a]{position:relative}.eye-icon[data-v-ec45fb5a]{position:absolute;right:10px;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--control-text);transition:color .2s}.eye-icon[data-v-ec45fb5a]:hover{color:var(--color-text)}.eye-icon[data-v-ec45fb5a] svg,button[data-v-ec45fb5a] svg{width:18px;height:18px;stroke-width:2.2}.error-input[data-v-ec45fb5a]{border:2px solid var(--color-danger)!important;background-color:var(--message-error-bg)!important}.multi-checkbox-group[data-v-ec45fb5a]{display:flex;flex-direction:column;gap:6px;margin-top:4px}.multi-checkbox-item[data-v-ec45fb5a]{display:flex;align-items:center;gap:8px;font-size:.95rem}@media (max-width:699px){.dyn-form-shell[data-v-ec45fb5a]{padding:14px 0;width:100%}.dyn-form[data-v-ec45fb5a]{padding:0 14px}.title[data-v-ec45fb5a]{padding:0 14px;font-size:1.25rem;line-height:1.25;margin-bottom:1rem;overflow-wrap:anywhere}legend[data-v-ec45fb5a]{text-align:left;font-size:1.05rem;margin-top:.5rem}.field[data-v-ec45fb5a]{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:stretch}.field label[data-v-ec45fb5a]{width:auto;text-align:left}.field input[type=password][data-v-ec45fb5a],.field input[type=text][data-v-ec45fb5a],.field select[data-v-ec45fb5a]{width:100%}.form-actions[data-v-ec45fb5a]{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;text-align:stretch}button.cancel[data-v-ec45fb5a]{margin-left:0}}.header[data-v-227848e2]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.header h1[data-v-227848e2]{margin:0;color:var(--color-text);font-size:1.45rem}.header-title[data-v-227848e2]{display:flex;align-items:center;gap:.6rem}.create-button[data-v-227848e2]{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-md);padding:8px 12px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.create-button[data-v-227848e2]:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.close-button[data-v-227848e2]{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;background-color:transparent;color:var(--color-text-muted);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,color .2s ease}.close-button[data-v-227848e2]:hover{background-color:var(--color-primary-soft);color:var(--color-text)}button[data-v-227848e2] svg{width:18px;height:18px;stroke-width:2.2}.generic-manager[data-v-7fd37ccc]{display:flex;flex-direction:column;width:100%;height:100%;flex-grow:1;overflow:hidden;max-width:1400px;margin:auto;padding:1rem;box-sizing:border-box;font-family:Roboto,sans-serif;color:var(--color-text)}.manager-body[data-v-7fd37ccc]{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column}.validation-box[data-v-7fd37ccc]{margin-top:1rem;padding:10px 14px;border-radius:var(--radius-md);font-size:.95rem}.validation-box.valid[data-v-7fd37ccc]{background-color:var(--message-success-bg);color:var(--message-success-text);border:1px solid var(--message-success-border)}.validation-box.error[data-v-7fd37ccc]{background-color:var(--message-error-bg);color:var(--message-error-text);border:1px solid var(--message-error-border)}.fade-status-enter-active[data-v-7fd37ccc],.fade-status-leave-active[data-v-7fd37ccc]{transition:opacity .5s ease}.fade-status-enter-from[data-v-7fd37ccc],.fade-status-leave-to[data-v-7fd37ccc]{opacity:0}button.blue[data-v-7fd37ccc]{place-items:center;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-md);padding:0;width:44px;height:32px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}button.blue[data-v-7fd37ccc],button.red[data-v-7fd37ccc]{display:inline-grid;margin-right:12px;font-size:.9rem;font-weight:700}button.red[data-v-7fd37ccc]{place-items:center;background-color:var(--color-danger);color:var(--color-text);border:none;border-radius:var(--radius-md);padding:0;width:44px;height:32px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}button.blue[data-v-7fd37ccc]:hover,button.red[data-v-7fd37ccc]:hover{filter:brightness(1.1);transform:scale(1.05)}button[data-v-7fd37ccc] svg{width:18px;height:18px;stroke-width:2.2}.generic-manager[data-v-099010bb]{position:relative;display:flex;flex-direction:column;width:100%;height:100%;flex-grow:1;overflow:hidden;max-width:1400px;margin:auto;padding:1rem;box-sizing:border-box;font-family:Roboto,sans-serif;color:var(--color-text)}.manager-body[data-v-099010bb]{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column}.abono-body[data-v-099010bb]{overflow-y:auto;scrollbar-width:none}.abono-body[data-v-099010bb]::-webkit-scrollbar{width:0;height:0}.floating-scrollbar[data-v-099010bb]{position:absolute;top:1px;right:3px;bottom:1px;width:8px;z-index:3;pointer-events:none}.floating-scrollbar-thumb[data-v-099010bb]{width:6px;border-radius:999px;background-color:var(--color-border-strong);box-shadow:0 0 0 1px rgba(0,0,0,.08);opacity:.82}.abono-body[data-v-099010bb] .dyn-form-shell{flex-grow:0;flex-shrink:0;min-height:auto;overflow:visible;max-width:none;margin:0;padding:0}.abono-body[data-v-099010bb] .dyn-form{flex-grow:0;overflow-y:visible}.abono-body[data-v-099010bb] .floating-scrollbar{display:none}.section-title[data-v-099010bb]{margin:1.5rem 0 .5rem;font-size:1.2rem;color:var(--color-text);text-align:center}.section-title[data-v-099010bb]:first-of-type{margin-top:0}.loading-text[data-v-099010bb]{color:var(--color-text-muted)}#app{margin:0 auto;font-family:Roboto}#app,.app-body{height:100%;width:100%}.app-body{display:grid;grid-template-rows:auto auto minmax(0,1fr);box-sizing:border-box}.app-topbar{justify-content:space-between;gap:1rem;padding:5px 14px 5px 5px;background-color:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-control)}.app-topbar,.app-topbar-left{display:flex;align-items:center}.app-topbar-left{gap:.75rem;min-width:0}.app-topbar .menu-button{flex:0 0 auto;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background-color:transparent;color:var(--color-text);cursor:pointer;font-size:30px;line-height:1}.app-topbar .menu-button:hover{background-color:var(--color-primary-soft);border-color:var(--color-border)}.app-logo{height:30px;width:auto}.app-topbar-right{display:grid;justify-items:end;line-height:1.3;min-width:0}.app-clock{font-size:1.05rem;font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.app-identity{font-size:.78rem;color:var(--color-text-muted);max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.app-identity{display:none}}.app-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:8px 14px;border-bottom:1px solid var(--color-border)}.app-notice--warning{background-color:var(--color-warning-soft,rgba(200,160,0,.15))}.app-notice--danger{background-color:var(--color-danger-soft,rgba(220,53,69,.15))}.app-notice-text{font-size:.85rem;color:var(--color-text)}.app-notice-close{flex:0 0 auto;width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--color-text);cursor:pointer;font-size:20px;line-height:1}.app-notice-close:hover{color:var(--color-text-muted)}