.sidebar[data-v-4c85a2ba]{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:1rem 0;display:flex;position:fixed;top:0;left:0}.sidebar-brand[data-v-4c85a2ba]{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--primary);text-shadow:0 0 8px rgba(var(--primary-rgb), .55);align-items:center;gap:.6rem;padding:.5rem 1.25rem 1.25rem;font-size:1.5rem;font-weight:400;display:flex}.sidebar-brand svg[data-v-4c85a2ba]{filter:drop-shadow(0 0 6px rgba(var(--primary-rgb), .45));flex-shrink:0}.sidebar-nav[data-v-4c85a2ba]{flex:1;list-style:none}.sidebar-nav li a[data-v-4c85a2ba]{color:var(--text-muted);align-items:center;gap:.65rem;padding:.6rem 1.25rem;font-size:1rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav li a[data-v-4c85a2ba] svg{flex-shrink:0}.sidebar-nav li a[data-v-4c85a2ba]:hover,.sidebar-nav li a[aria-current=page][data-v-4c85a2ba]{color:var(--text)}.sidebar-upload[data-v-4c85a2ba]{color:var(--primary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:.45rem 1.25rem;font-size:.78rem;text-decoration:none;animation:1.6s ease-in-out infinite sidebar-upload-pulse-4c85a2ba;display:block}.sidebar-upload[data-v-4c85a2ba]:hover{color:var(--primary);text-decoration:none}@keyframes sidebar-upload-pulse-4c85a2ba{50%{opacity:.45}}.sidebar-settings-link[data-v-4c85a2ba]{color:var(--text-muted);align-items:center;gap:.65rem;padding:.6rem 1.25rem;font-size:1rem;text-decoration:none;transition:color .15s;display:flex}.sidebar-settings-link[data-v-4c85a2ba]:hover,.sidebar-settings-link[aria-current=page][data-v-4c85a2ba],.sidebar-settings-link.router-link-active[data-v-4c85a2ba]{color:var(--text);text-decoration:none}.sidebar-footer[data-v-4c85a2ba]{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.logout-btn[data-v-4c85a2ba]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.35rem 0;font-size:.9rem;display:flex}.logout-btn[data-v-4c85a2ba]:hover{color:var(--text);background:0 0}.cp-dialog[data-v-107497b2]{background:0 0;border:none;width:min(560px,100% - 2rem);margin:12vh auto auto;padding:0}.cp-dialog[data-v-107497b2]::backdrop{background:#0000008c}.cp-panel[data-v-107497b2]{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 48px #0009}.cp-input[data-v-107497b2]{border:none;border-bottom:1px solid var(--border);font-size:1rem;font-family:var(--font-mono);background:0 0;border-radius:0;padding:.85rem 1rem}.cp-input[data-v-107497b2]:focus{border-bottom-color:var(--primary);outline:none}.cp-list[data-v-107497b2]{max-height:46vh;padding:.35rem;overflow-y:auto}.cp-item[data-v-107497b2]{cursor:pointer;align-items:baseline;gap:.6rem;padding:.45rem .6rem;font-size:.92rem;display:flex}.cp-item--active[data-v-107497b2]{background:rgba(var(--primary-rgb), .1);box-shadow:inset 2px 0 0 var(--primary);border-radius:0 6px 6px 0}.cp-icon[data-v-107497b2]{text-align:center;width:1.2em;font-family:var(--font-mono);flex-shrink:0}.cp-label[data-v-107497b2]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cp-hint[data-v-107497b2]{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;margin-left:auto;font-size:.72rem}.cp-empty[data-v-107497b2]{color:var(--text-muted);text-align:center;margin:0;padding:1.25rem;font-size:.9rem}.cp-footer[data-v-107497b2]{border-top:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);padding:.4rem 1rem;font-size:.7rem}.confirm-dialog[data-v-1b9c7932]{background:0 0;border:none;width:100%;max-width:380px;padding:0}.confirm-dialog[data-v-1b9c7932]::backdrop{background:#0009}.confirm-dialog[data-v-1b9c7932],.confirm-dialog[data-v-1b9c7932]::backdrop{opacity:1;transition:opacity .15s}@starting-style{.confirm-dialog[open][data-v-1b9c7932],.confirm-dialog[open][data-v-1b9c7932]::backdrop{opacity:0}}.confirm-modal[data-v-1b9c7932]{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:1.5rem}.confirm-icon[data-v-1b9c7932]{background:rgba(var(--primary-rgb), .12);width:48px;height:48px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.confirm-icon--danger[data-v-1b9c7932]{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.confirm-title[data-v-1b9c7932]{margin:0 0 .5rem;font-size:1.1rem}.confirm-message[data-v-1b9c7932]{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem;line-height:1.4}.confirm-actions[data-v-1b9c7932]{gap:.5rem;display:flex}.confirm-btn[data-v-1b9c7932]{cursor:pointer;border-radius:8px;flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s}.confirm-btn--cancel[data-v-1b9c7932]{border:1px solid var(--border);color:var(--text);background:0 0}.confirm-btn--cancel[data-v-1b9c7932]:hover{border-color:var(--text-muted)}.confirm-btn--danger[data-v-1b9c7932]{background:var(--danger);border:1px solid var(--danger);color:var(--primary-contrast)}.confirm-btn--danger[data-v-1b9c7932]:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.confirm-btn--primary[data-v-1b9c7932]{background:var(--primary);border:1px solid var(--primary);color:var(--primary-contrast)}.confirm-btn--primary[data-v-1b9c7932]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}@font-face{font-family:Maple Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/maple-mono-latin-400-normal-WIx2rg0p.woff2)format("woff2"),url(/assets/maple-mono-latin-400-normal-OcfaEJ46.woff)format("woff")}:root{--bg:#05070f;--bg-surface:#0a0e1c;--bg-hover:#121830;--border:#1c2342;--text:#d6dcf5;--text-muted:#7a83b3;--primary:#9d7bff;--primary-hover:#b394ff;--primary-rgb:157, 123, 255;--primary-contrast:#05070f;--danger:#ff5c7a;--danger-hover:#f0435f;--success:#4fd674;--warning:#ffb454;--radius:6px;--control-radius:8px;--sidebar-width:220px;--font-display:"Maple Mono", "Courier New", monospace;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=night]{--bg:#05070f;--bg-surface:#0a0e1c;--bg-hover:#121830;--border:#1c2342;--text:#d6dcf5;--text-muted:#7a83b3;--primary:#9d7bff;--primary-hover:#b394ff;--primary-rgb:157, 123, 255;--primary-contrast:#05070f;--danger:#ff5c7a;--danger-hover:#f0435f;--success:#4fd674;--warning:#ffb454;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=graphite]{--bg:#0a0a0a;--bg-surface:#131313;--bg-hover:#1d1d1d;--border:#2b2b2b;--text:#e7e7e7;--text-muted:#909090;--primary:#d8d8d8;--primary-hover:#fff;--primary-rgb:216, 216, 216;--primary-contrast:#0a0a0a;--danger:#e05661;--danger-hover:#c9414c;--success:#6fbf7d;--warning:#d8a35c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=day]{--bg:#f6f5fa;--bg-surface:#fff;--bg-hover:#edeaf6;--border:#ddd8ec;--text:#221d38;--text-muted:#6a6590;--primary:#6b46d9;--primary-hover:#5936c4;--primary-rgb:107, 70, 217;--primary-contrast:#fff;--danger:#d23b5c;--danger-hover:#b82c4b;--success:#1f8a50;--warning:#a86a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=cyanotype]{--bg:#e9eff7;--bg-surface:#f5f8fc;--bg-hover:#dbe5f2;--border:#c3d2e6;--text:#16283e;--text-muted:#58718f;--primary:#1f4e96;--primary-hover:#163c77;--primary-rgb:31, 78, 150;--primary-contrast:#f5f8fc;--danger:#bd3a55;--danger-hover:#a02b44;--success:#1d7d55;--warning:#8f6a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=rosewood]{--bg:#e6d7cf;--bg-surface:#efe3dc;--bg-hover:#dcc8bd;--border:#c8b2a7;--text:#2a2d43;--text-muted:#5c618a;--primary:#8a5054;--primary-hover:#5a2230;--primary-rgb:138, 80, 84;--primary-contrast:#f4eae3;--danger:#a53d4d;--danger-hover:#8c2f3e;--success:#5f7d5a;--warning:#96702e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=sepia]{--bg:#f2e9d8;--bg-surface:#faf3e4;--bg-hover:#e9dec7;--border:#d7c8a8;--text:#3f3227;--text-muted:#75634d;--primary:#9c5f1e;--primary-hover:#7f4c15;--primary-rgb:156, 95, 30;--primary-contrast:#faf3e4;--danger:#b3402f;--danger-hover:#97301f;--success:#57772f;--warning:#8a6a10;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}::selection{background:rgba(var(--primary-rgb), .3)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after,::backdrop{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-layout{min-height:100vh}.app-layout.authenticated{display:flex}.app-layout.authenticated .content{margin-left:var(--sidebar-width);flex:1;min-width:0;padding:2rem}.app-layout.authenticated .content--flush{padding:0}.view{max-width:960px}.view h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem;font-size:1.9rem;font-weight:400}.view h2{color:var(--text-muted);margin:1.5rem 0 .75rem;font-size:1.15rem}.view-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.welcome{color:var(--text-muted);margin-bottom:1.5rem}.empty{color:var(--text-muted);font-style:italic}.field{margin-bottom:1rem}.field label{color:var(--text-muted);margin-bottom:.3rem;font-size:.9rem;display:block}input,textarea,select{background:var(--bg);border:1px solid var(--border);border-radius:var(--control-radius);width:100%;color:var(--text);padding:.5rem .9rem;font-family:inherit;font-size:1rem;line-height:1.4}::placeholder{color:var(--text-muted);opacity:.7}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8fa3' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:12px;padding-right:2.5rem}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 3px rgba(var(--primary-rgb), .4)}button{background:var(--primary);color:var(--primary-contrast);border-radius:var(--control-radius);cursor:pointer;border:1px solid #0000;padding:.5rem 1.2rem;font-family:inherit;font-size:1rem;line-height:1.4;transition:background .15s}button:where(:hover){background:var(--primary-hover);color:var(--primary-contrast)}button:disabled{opacity:.6;cursor:not-allowed}button.small,input.small,select.small{padding:.35rem .8rem;font-size:.85rem}select.small{padding-right:2.5rem}button.ghost{border-color:var(--border);color:var(--text);background:0 0}button.ghost:hover{background:var(--bg-hover);color:var(--text)}button.danger{background:var(--danger)}button.danger:hover{background:var(--danger-hover)}.error{color:var(--danger);margin-bottom:.75rem;font-size:.9rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.data-cell{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-size:.9rem;overflow:hidden}.actions{gap:.4rem;display:flex}.filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.filters input{width:auto;min-width:150px}.stats-grid{flex-wrap:wrap;gap:1rem;display:flex}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:120px;padding:1rem 1.5rem;display:flex}.stat-count{font-family:var(--font-display);color:var(--primary);font-size:2.1rem;font-weight:400}.stat-label{color:var(--text-muted);text-transform:capitalize;font-size:1rem}.connector-list{flex-direction:column;gap:.75rem;display:flex}.connector-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:1rem;transition:border-color .15s}.connector-card:hover{border-color:var(--primary)}.connector-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.connector-type{color:var(--text-muted);background:var(--bg-hover);border-radius:var(--radius);margin-left:.5rem;padding:.15rem .5rem;font-size:.875rem}.connector-meta{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem}.connector-actions{gap:.5rem;display:flex}.connector-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.toggle{cursor:pointer;color:var(--text-muted);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.toggle input{width:auto}.settings-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}dl{grid-template-columns:auto 1fr;gap:.5rem 1rem;display:grid}dt{color:var(--text-muted);font-size:.9rem}dd{font-size:.9rem}.auth-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--bg-surface);border:1px solid rgba(var(--primary-rgb), .35);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:0 0 40px rgba(var(--primary-rgb), .12), inset 0 0 24px rgba(var(--primary-rgb), .04);padding:2.5rem 2rem}.auth-card .field label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem}.auth-card input:focus{box-shadow:0 0 10px rgba(var(--primary-rgb), .35)}.auth-card button[type=submit]{width:100%;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem;font-size:1.25rem}.auth-logo{color:var(--text);filter:drop-shadow(0 0 4px rgba(var(--primary-rgb), .3));margin:0 auto 1rem;display:block}.auth-card h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--primary);text-shadow:0 0 8px rgba(var(--primary-rgb), .55);text-align:center;margin-bottom:1.5rem;font-size:1.75rem;font-weight:400}.alt-link{text-align:center;color:var(--text-muted);margin-top:1rem;font-size:1rem}dialog{margin:auto}.modal-dialog{background:0 0;border:none;width:100%;max-width:none;padding:0}.modal-dialog[open]{justify-content:center;display:flex}.modal-dialog::backdrop{background:#0009}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:500px;padding:1.5rem}.modal h2{margin-top:0}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal-actions button:first-child{border-color:var(--border);color:var(--text-muted);background:0 0}.modal-actions button:first-child:hover{background:var(--bg-hover);color:var(--text)}.flatpickr-calendar{padding:.85rem;background:var(--bg-surface)!important;border-color:var(--border)!important;border-radius:12px!important;width:auto!important;box-shadow:0 4px 20px #0006!important}.flatpickr-calendar,.flatpickr-calendar input,.flatpickr-calendar select{font-family:inherit!important;font-size:.85rem!important}.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-size:.95rem!important;font-weight:500!important}span.flatpickr-weekday{letter-spacing:.06em;font-size:.72rem!important;font-weight:600!important}.flatpickr-months,.flatpickr-weekdays{background:var(--bg-surface)!important}.flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--bg-surface)!important;color:var(--text)!important}span.flatpickr-weekday{color:var(--text-muted)!important;background:var(--bg-surface)!important}.flatpickr-day{color:var(--text)!important}.flatpickr-day:hover{background:var(--bg-hover)!important;border-color:var(--bg-hover)!important}.flatpickr-day.selected{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--primary-contrast)!important}.flatpickr-day.today{border-color:var(--primary)!important}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{opacity:.4;color:var(--text-muted)!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{fill:var(--text-muted)!important;color:var(--text-muted)!important}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{fill:var(--text)!important;color:var(--text)!important}.numInputWrapper span{border-color:var(--border)!important}.numInputWrapper span:hover{background:var(--bg-hover)!important}.numInputWrapper span svg path{fill:var(--text-muted)!important}.flatpickr-calendar.arrowTop:before{border-bottom-color:var(--border)!important}.flatpickr-calendar.arrowTop:after{border-bottom-color:var(--bg-surface)!important}.flatpickr-calendar.arrowBottom:before{border-top-color:var(--border)!important}.flatpickr-calendar.arrowBottom:after{border-top-color:var(--bg-surface)!important}.flatpickr-current-month input.cur-year{color:var(--text)!important}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background:var(--bg-surface);color:var(--text)}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{opacity:.3;color:var(--text-muted)!important}.flatpickr-time{border-top-color:var(--border)!important}.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{background:var(--bg-surface)!important;color:var(--text)!important}.flatpickr-time input:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time .flatpickr-am-pm:focus{background:var(--bg-hover)!important}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:var(--text-muted)!important}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:var(--text-muted)!important}
