:root{--color-bg: #f0f2f5;--color-surface: #ffffff;--color-surface-2: #e8eaed;--color-border: #ced4da;--color-accent: #e65c00;--color-accent-hover: #cc5200;--color-success: #1a7f37;--color-warning: #9a6700;--color-danger: #cf222e;--color-info: #0550ae;--color-purple: #8250df;--color-text-primary: #1c2128;--color-text-secondary: #57606a;--color-text-muted: #6e7781;--color-display-bg: #e2e5e9;--sidebar-width: 240px;--sidebar-collapsed-width: 60px;--header-height: 56px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-mono: "Courier New", Courier, monospace;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .18);--transition-fast: .12s ease;--transition-base: .2s ease;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--z-map-controls: 400;--z-sidebar: 500;--z-ptt: 600;--z-drawer: 700;--z-dialog: 800;--z-alarm: 900;--z-toast: 1000;--tint-bg: 12%;--tint-border: 30%;--color-accent-soft: color-mix(in srgb, var(--color-accent) var(--tint-bg), transparent);--color-success-soft: color-mix(in srgb, var(--color-success) var(--tint-bg), transparent);--color-warning-soft: color-mix(in srgb, var(--color-warning) var(--tint-bg), transparent);--color-danger-soft: color-mix(in srgb, var(--color-danger) var(--tint-bg), transparent);--color-info-soft: color-mix(in srgb, var(--color-info) var(--tint-bg), transparent);--color-accent-line: color-mix(in srgb, var(--color-accent) var(--tint-border), transparent);--color-success-line: color-mix(in srgb, var(--color-success) var(--tint-border), transparent);--color-warning-line: color-mix(in srgb, var(--color-warning) var(--tint-border), transparent);--color-danger-line: color-mix(in srgb, var(--color-danger) var(--tint-border), transparent);--color-info-line: color-mix(in srgb, var(--color-info) var(--tint-border), transparent);--color-overlay: rgba(0, 0, 0, .45)}[data-theme=dark]{--color-bg: #0d1117;--color-surface: #161b22;--color-surface-2: #1c2128;--color-border: #30363d;--color-accent: #e65c00;--color-accent-hover: #cc5200;--color-success: #3fb950;--color-warning: #d29922;--color-danger: #f85149;--color-info: #58a6ff;--color-purple: #bc8cff;--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #7d8590;--color-display-bg: #0a0d12;--tint-bg: 15%;--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-soft);color:var(--color-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .4rem;border-radius:var(--radius-sm);flex-shrink:0;display:inline-block}.badge--success{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-line)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-line)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning-line)}.badge--info{background:var(--color-info-soft);color:var(--color-info);border:1px solid var(--color-info-line)}.badge--muted{background:var(--color-surface-2);color:var(--color-text-secondary);border:1px solid var(--color-border)}.status-tag{padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-transform:uppercase;display:inline-block}.status-tag.verfuegbar,.status-tag.online,.status-tag.aktiv,.status-tag.bereit{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-line)}.status-tag.in_benutzung{background:var(--color-info-soft);color:var(--color-info);border:1px solid var(--color-info-line)}.status-tag.im_einsatz,.status-tag.offline,.status-tag.stoerung,.status-tag.defekt{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-line)}.status-tag.wartung,.status-tag.in-wartung,.status-tag.inaktiv{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning-line)}.status-tag.nicht_verfuegbar,.status-tag.pause{background:var(--color-surface-2);color:var(--color-text-secondary);border:1px solid var(--color-border)}.service-due{font-weight:700;font-size:.8rem}.service-due.ok{color:var(--color-success)}.service-due.soon{color:var(--color-warning)}.service-due.overdue{color:var(--color-danger)}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#app{height:100%}.toast-host[data-v-77082728]{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast[data-v-77082728]{pointer-events:auto;width:100%;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--tone);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-sm)}.toast--success[data-v-77082728]{--tone: var(--color-success)}.toast--info[data-v-77082728]{--tone: var(--color-info)}.toast--warning[data-v-77082728]{--tone: var(--color-warning)}.toast--error[data-v-77082728]{--tone: var(--color-danger)}.toast__icon[data-v-77082728]{color:var(--tone);flex-shrink:0;margin-top:1px}.toast__text[data-v-77082728]{flex:1;min-width:0;display:grid;gap:2px}.toast__text strong[data-v-77082728]{color:var(--color-text-primary);font-weight:600}.toast__text span[data-v-77082728]{color:var(--color-text-secondary);overflow-wrap:anywhere}.toast__action[data-v-77082728]{border:none;background:none;color:var(--color-accent);font:inherit;font-weight:600;cursor:pointer;padding:2px 4px}.toast__close[data-v-77082728]{display:grid;place-items:center;width:28px;height:28px;margin:-4px -4px -4px 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.toast__close[data-v-77082728]:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.toast-enter-active[data-v-77082728],.toast-leave-active[data-v-77082728]{transition:opacity var(--transition-base),transform var(--transition-base)}.toast-enter-from[data-v-77082728]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-77082728]{opacity:0;transform:translate(16px)}@media(max-width:480px){.toast-host[data-v-77082728]{right:50%;transform:translate(50%);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}}.dialog-backdrop[data-v-bd7071ac]{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-bd7071ac]{width:100%;max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);outline:none}.dialog--sm[data-v-bd7071ac]{max-width:420px}.dialog--md[data-v-bd7071ac]{max-width:560px}.dialog--lg[data-v-bd7071ac]{max-width:820px}.dialog__header[data-v-bd7071ac]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.dialog__title[data-v-bd7071ac]{flex:1;font-size:var(--text-md);font-weight:700;color:var(--color-text-primary)}.dialog__close[data-v-bd7071ac]{display:grid;place-items:center;width:36px;height:36px;margin:calc(var(--space-2) * -1);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.dialog__close[data-v-bd7071ac]:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.dialog__body[data-v-bd7071ac]{padding:var(--space-5);overflow-y:auto;color:var(--color-text-secondary);font-size:var(--text-base)}.dialog__footer[data-v-bd7071ac]{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dialog-enter-active[data-v-bd7071ac],.dialog-leave-active[data-v-bd7071ac]{transition:opacity var(--transition-base)}.dialog-enter-active .dialog[data-v-bd7071ac],.dialog-leave-active .dialog[data-v-bd7071ac]{transition:transform var(--transition-base)}.dialog-enter-from[data-v-bd7071ac],.dialog-leave-to[data-v-bd7071ac]{opacity:0}.dialog-enter-from .dialog[data-v-bd7071ac],.dialog-leave-to .dialog[data-v-bd7071ac]{transform:translateY(8px) scale(.98)}@media(max-width:480px){.dialog-backdrop[data-v-bd7071ac]{place-items:end center;padding:0}.dialog[data-v-bd7071ac]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92dvh}.dialog__footer[data-v-bd7071ac]{border-radius:0}}.base-btn[data-v-87916786]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--text-base);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.base-btn[data-v-87916786]:hover:not(:disabled){border-color:var(--color-text-secondary)}.base-btn[data-v-87916786]:disabled{opacity:.55;cursor:not-allowed}.base-btn--primary[data-v-87916786]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.base-btn--primary[data-v-87916786]:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.base-btn--danger[data-v-87916786]{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.base-btn--danger[data-v-87916786]:hover:not(:disabled){border-color:var(--color-danger);filter:brightness(.92)}.base-btn--ghost[data-v-87916786]{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.base-btn--ghost[data-v-87916786]:hover:not(:disabled){background:var(--color-surface-2);border-color:transparent;color:var(--color-text-primary)}.base-btn--sm[data-v-87916786]{min-height:30px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.base-btn--icon[data-v-87916786]{min-width:36px;padding:var(--space-2)}.base-btn--sm.base-btn--icon[data-v-87916786]{min-width:30px;padding:var(--space-1)}@media(pointer:coarse){.base-btn[data-v-87916786]{min-height:44px}.base-btn--icon[data-v-87916786]{min-width:44px}}.base-btn__spinner[data-v-87916786]{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.confirm-message[data-v-cf8dd8f9]{line-height:1.55;white-space:pre-line}
