:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(5, 0, 0, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.btn-primary{background:#222;color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#444}.btn-primary:disabled{background:#e5e7eb;color:#bbb;cursor:not-allowed}.btn-success{background:#10b981;color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-success:hover{background:#059669}.btn-outline{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:hover{background:#f9fafb;border-color:#9ca3af;color:#111827}.card{background:#fff;border:1px solid #acadb1;border-radius:12px;box-shadow:0 1px 3px #00000014}.card-lg{border-radius:16px}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;color:#fff}.status-badge.unavailable{background:#9ca3af}.status-badge.faulted{background:#ef4444}.status-badge.SuspendedEV{background:#f59e42}.status-badge.reserved{background:#2563eb}.status-badge.charging,.status-badge.available{background:#10b981}.sort-btn,.toggle-btn,.details-btn,.load-more-btn,.search-button,.csv-button,.action-button{background:#222;color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.sort-btn:hover,.toggle-btn:hover,.details-btn:hover,.load-more-btn:hover,.search-button:hover{background:#444}.load-more-btn:disabled,.sort-btn:disabled{background:#e5e7eb;color:#bbb;cursor:not-allowed}.search-button{padding:12px 28px;font-size:16px;font-weight:700;border-radius:8px;min-height:44px}.csv-button{background:#10b981;color:#fff;padding:12px 28px;font-size:16px;font-weight:700;border-radius:8px;min-height:44px}.csv-button:hover{background:#059669}.action-button{padding:8px 12px;font-size:14px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;display:inline-flex;align-items:center;gap:6px}.action-button:hover{background:#f9fafb;border-color:#9ca3af;color:#111827}.action-button.icon-only{padding:8px;min-width:36px;justify-content:center}.action-button.icon-only svg{width:16px;height:16px}.app-card{background:#fff;border:1px solid #acadb1;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:0 0 32px}.app-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px;background:#fff;border-radius:12px 12px 0 0;border-bottom:1px solid #e5e7eb}.app-filter-sidebar{width:260px;background:#fff;border:1px solid #acadb1;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px 18px 18px;margin-right:8px;display:flex;flex-direction:column;gap:18px;min-height:400px;transition:width .2s}.app-filter-sidebar.filter-top{width:100%;margin-bottom:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;align-items:end;background:#fcfcfd;border-radius:6px;box-shadow:0 1px 4px #00000008;padding:8px 10px 4px;border:1px solid #ececec;position:relative;min-height:unset}.app-page-bg{max-width:95%;padding:32px 32px 0;background:#f7f8fa;border-radius:12px;margin:0 auto}.app-input,.app-select{border:1px solid #acadb1;border-radius:6px;font-size:15px;background:#fff;color:#222;transition:border .2s;box-sizing:border-box;height:40px;padding:10px 14px;min-height:40px}.app-select{padding:8px 12px}.app-input:focus,.app-select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f122}.app-filter-label{font-size:15px;font-weight:600;color:#222;margin-top:0;margin-bottom:2px}.transactions-table-container{width:100%;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000f}.transactions-table{width:100%;border-collapse:collapse;font-size:15px}.transactions-table th,.transactions-table td{padding:12px 16px;border-bottom:1px solid #e0e0e0;text-align:left;white-space:nowrap}.transactions-table th{background:#eaeaea;font-weight:700;color:#222}.transactions-table tr:nth-child(2n) td{background:#f7f8fa}.transactions-table tr:last-child td{border-bottom:none}.transactions-table td:last-child{text-align:center}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px 0 0}.pagination-bar button{background:#222;color:#fff;padding:6px 18px;border-radius:6px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background .2s}.pagination-bar button:disabled{background:#bbb;color:#fff;cursor:not-allowed}.load-more-bar{display:flex;justify-content:center;margin:24px 0}.sessions-layout{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:0 24px}.sessions-content{flex:1;min-width:0}.sort-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin-top:2px;background:none;padding:0}.sort-controls,.page-size-controls{display:flex;align-items:center;gap:12px}.status-filter{padding:8px 16px;border-radius:6px;border:1px solid #d1d5db;font-size:15px;min-width:140px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-actions{display:flex;flex-direction:row;gap:12px;align-items:end;justify-content:flex-end;grid-column:1 / -1;margin-top:2px}.nav-link.router-link-exact-active{background:#fff!important;color:#222!important}@media (max-width: 900px){.app-filter-sidebar{width:100%;margin-right:0;margin-bottom:24px}.app-filter-sidebar.filter-top{grid-template-columns:1fr;gap:6px;padding:6px 2vw 4px;border-radius:5px}.filter-actions{flex-direction:column;gap:8px;align-items:stretch;justify-content:flex-start;grid-column:1 / -1;margin-top:4px}.search-button,.csv-button{width:100%;min-width:0;margin-left:0}.sessions-content{width:100%}.sort-bar{flex-direction:column;align-items:stretch;gap:8px}.sessions-layout{flex-direction:column;gap:0}}.modal-overlay[data-v-21df0bf8]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-21df0bf8]{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.impersonation-modal[data-v-21df0bf8]{max-width:700px}.modal-header[data-v-21df0bf8]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-21df0bf8]{margin:0;font-size:1.25rem;font-weight:600}.close-button[data-v-21df0bf8]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button[data-v-21df0bf8]:hover{background:#f3f4f6;color:#374151}.modal-body[data-v-21df0bf8]{padding:20px;overflow-y:auto;flex:1}.description[data-v-21df0bf8]{margin:0 0 20px;color:#6b7280;font-size:.9rem}.search-section[data-v-21df0bf8]{margin-bottom:20px}.search-section label[data-v-21df0bf8]{display:block;margin-bottom:8px;font-weight:500;color:#374151}.search-input-wrapper[data-v-21df0bf8]{display:flex;gap:8px}.search-input[data-v-21df0bf8]{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.search-input[data-v-21df0bf8]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input[data-v-21df0bf8]:disabled{background:#f3f4f6;cursor:not-allowed}.search-button[data-v-21df0bf8]{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.search-button[data-v-21df0bf8]:hover:not(:disabled){background:#2563eb}.search-button[data-v-21df0bf8]:disabled{background:#9ca3af;cursor:not-allowed}.results-section[data-v-21df0bf8]{margin-top:20px}.loading-state[data-v-21df0bf8]{display:flex;flex-direction:column;align-items:center;padding:40px;color:#6b7280}.spinner[data-v-21df0bf8]{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin-21df0bf8 1s linear infinite;margin-bottom:10px}@keyframes spin-21df0bf8{to{transform:rotate(360deg)}}.empty-state[data-v-21df0bf8]{padding:40px;text-align:center;color:#6b7280}.customer-list[data-v-21df0bf8]{display:flex;flex-direction:column;gap:12px}.customer-item[data-v-21df0bf8]{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.customer-item[data-v-21df0bf8]:hover{border-color:#3b82f6;background:#f9fafb}.customer-info[data-v-21df0bf8]{flex:1}.customer-primary[data-v-21df0bf8]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.customer-name[data-v-21df0bf8]{font-weight:600;color:#111827}.customer-email[data-v-21df0bf8]{font-size:.9rem;color:#6b7280}.customer-secondary[data-v-21df0bf8]{font-size:.85rem;color:#9ca3af}.select-button[data-v-21df0bf8]{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;white-space:nowrap}.select-button[data-v-21df0bf8]:hover:not(:disabled){background:#2563eb}.select-button[data-v-21df0bf8]:disabled{background:#9ca3af;cursor:not-allowed}.error-message[data-v-21df0bf8]{margin-top:16px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem}.sidebar[data-v-64d8f7ff]{position:fixed;left:0;top:0;height:100vh;width:280px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;z-index:1001;transition:all .3s ease;max-width:100vw;transform:translate(-100%);overflow-y:auto;overflow-x:hidden;padding-top:var(--banner-height)}.sidebar[data-v-64d8f7ff]::-webkit-scrollbar{width:6px}.sidebar[data-v-64d8f7ff]::-webkit-scrollbar-track{background:#2a2a2a}.sidebar[data-v-64d8f7ff]::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.sidebar[data-v-64d8f7ff]::-webkit-scrollbar-thumb:hover{background:#777}.sidebar.open[data-v-64d8f7ff]{transform:translate(0)}.sidebar-loading[data-v-64d8f7ff]{position:fixed;left:0;top:0;height:100vh;width:280px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;z-index:200;align-items:center;justify-content:center;max-width:100vw;overflow-y:auto;overflow-x:hidden}.sidebar-header[data-v-64d8f7ff]{background:#1a1a1a;display:flex;justify-content:space-between;align-items:center;min-height:120px;padding:0 20px}.logo-section[data-v-64d8f7ff],.logo-container[data-v-64d8f7ff]{width:100%;height:80px;display:flex;align-items:center;justify-content:center}.company-logo[data-v-64d8f7ff]{width:100%;height:100%;object-fit:contain;max-width:200px;max-height:80px}.sidebar-nav[data-v-64d8f7ff]{flex:1;padding:20px 0}.nav-list[data-v-64d8f7ff]{list-style:none;padding:0;margin:0}.nav-link[data-v-64d8f7ff]{display:block;padding:12px 24px;color:#fff;text-decoration:none;border-radius:6px;margin-bottom:8px;transition:all .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.nav-link.router-link-exact-active[data-v-64d8f7ff],.nav-link[data-v-64d8f7ff]:hover,.nav-link[data-v-64d8f7ff]:active{background:#e7e7e7;color:#000}.nav-link[data-v-64d8f7ff]:active{transform:scale(.98)}.sidebar-footer[data-v-64d8f7ff]{padding:20px;border-top:1px solid #333}.footer-actions[data-v-64d8f7ff]{display:flex;flex-direction:column;gap:12px}.helpdesk-button[data-v-64d8f7ff]{width:100%;background:#17a2b8;color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;text-decoration:none;display:flex;align-items:center;justify-content:center}.helpdesk-button[data-v-64d8f7ff]:hover,.helpdesk-button[data-v-64d8f7ff]:active{background:#138496}.helpdesk-button[data-v-64d8f7ff]:active{transform:scale(.98)}.admin-helpdesk-button[data-v-64d8f7ff]{width:100%;background:#28a745;color:#fff;border:none;padding:12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-bottom:8px}.admin-helpdesk-button[data-v-64d8f7ff]:hover,.admin-helpdesk-button[data-v-64d8f7ff]:active{background:#218838}.admin-helpdesk-button[data-v-64d8f7ff]:active{transform:scale(.98)}.odoo-tickets-button[data-v-64d8f7ff]{width:100%;background:#28a745;color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;text-decoration:none;display:flex;align-items:center;justify-content:center}.odoo-tickets-button[data-v-64d8f7ff]:hover,.odoo-tickets-button[data-v-64d8f7ff]:active{background:#218838}.odoo-tickets-button[data-v-64d8f7ff]:active{transform:scale(.98)}.report-issue-button[data-v-64d8f7ff]{width:100%;background:#dc3545;color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;text-decoration:none;display:flex;align-items:center;justify-content:center}.report-issue-button[data-v-64d8f7ff]:hover,.report-issue-button[data-v-64d8f7ff]:active{background:#c82333}.report-issue-button[data-v-64d8f7ff]:active{transform:scale(.98)}.report-problem-button[data-v-64d8f7ff]{width:100%;background:#ff6b35;color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;text-decoration:none;display:flex;align-items:center;justify-content:center}.report-problem-button[data-v-64d8f7ff]:hover,.report-problem-button[data-v-64d8f7ff]:active{background:#e55a2b}.report-problem-button[data-v-64d8f7ff]:active{transform:scale(.98)}.logout-button[data-v-64d8f7ff]{width:100%;background:#fff;color:#000;border:none;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.logout-button[data-v-64d8f7ff]:hover,.logout-button[data-v-64d8f7ff]:active{background:#f0f0f0}.logout-button[data-v-64d8f7ff]:active{transform:scale(.98)}.nav-text[data-v-64d8f7ff]{font-weight:500}.dropdown-item[data-v-64d8f7ff]{position:relative}.dropdown-toggle[data-v-64d8f7ff]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.dropdown-arrow[data-v-64d8f7ff]{transition:transform .2s ease;margin-left:auto}.dropdown-arrow.open[data-v-64d8f7ff]{transform:rotate(180deg)}.dropdown-menu[data-v-64d8f7ff]{list-style:none;padding:0;margin:4px 0 0;background:#2a2a2a;border-radius:6px;overflow:hidden}.dropdown-link[data-v-64d8f7ff]{display:block;padding:10px 20px;color:#fff;text-decoration:none;border-radius:0;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:inherit;font-family:inherit}.impersonation-link[data-v-64d8f7ff]{color:#60a5fa;font-weight:500;margin-bottom:0;transition:all .2s ease;font-size:14px;padding-left:40px}.dropdown-link[data-v-64d8f7ff]:hover,.dropdown-link[data-v-64d8f7ff]:active,.dropdown-link.router-link-exact-active[data-v-64d8f7ff]{background:#e7e7e7;color:#000}.mini-sidebar[data-v-64d8f7ff]{position:fixed;left:0;top:0;width:40px;height:100vh;background:#1a1a1a;z-index:1002;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.mini-sidebar.open[data-v-64d8f7ff]{left:280px;width:40px}.mini-toggle[data-v-64d8f7ff]{background:transparent;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:all .2s ease;width:32px;height:32px;border-radius:4px}.mini-toggle[data-v-64d8f7ff]:hover{background:#ffffff1a}.mini-toggle[data-v-64d8f7ff]:active{transform:scale(.95)}.toggle-arrow[data-v-64d8f7ff]{color:#fff;transition:all .3s ease}.sidebar-overlay[data-v-64d8f7ff]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999;display:none;pointer-events:auto}.loading-indicator[data-v-64d8f7ff]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;font-size:18px;font-weight:700}.spinner[data-v-64d8f7ff]{border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;width:40px;height:40px;animation:spin-64d8f7ff 1s linear infinite;margin-bottom:15px}@keyframes spin-64d8f7ff{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 901px){.sidebar[data-v-64d8f7ff]{transform:translate(-100%)}.sidebar.open[data-v-64d8f7ff]{transform:translate(0)}.sidebar-loading[data-v-64d8f7ff]{transform:translate(-100%)}.mini-sidebar[data-v-64d8f7ff]{display:flex}.sidebar-overlay[data-v-64d8f7ff]{display:none}.sidebar.open+.sidebar-overlay[data-v-64d8f7ff]{display:block}}@media (max-width: 900px){.sidebar[data-v-64d8f7ff]{transform:translate(-100%);width:100vw;max-width:100vw}.sidebar.open[data-v-64d8f7ff]{transform:translate(0)}.sidebar-loading[data-v-64d8f7ff]{transform:translate(-100%);width:100vw;max-width:100vw}.mini-sidebar[data-v-64d8f7ff]{display:none}.sidebar-overlay[data-v-64d8f7ff]{display:block}.nav-link[data-v-64d8f7ff]{padding:16px 24px;font-size:16px;min-height:48px;display:flex;align-items:center;touch-action:manipulation}.logout-button[data-v-64d8f7ff],.report-problem-button[data-v-64d8f7ff]{padding:16px;font-size:16px;min-height:48px;touch-action:manipulation}.sidebar-toggle[data-v-64d8f7ff]{touch-action:manipulation}}@media (max-width: 768px){.sidebar[data-v-64d8f7ff],.sidebar-loading[data-v-64d8f7ff]{width:100vw;max-width:100vw}.nav-link[data-v-64d8f7ff],.logout-button[data-v-64d8f7ff],.report-problem-button[data-v-64d8f7ff]{padding:18px 20px;font-size:15px;min-height:52px}.sidebar-header[data-v-64d8f7ff]{padding:0 16px}.logo-container[data-v-64d8f7ff]{max-width:150px}}@media (max-width: 480px){.sidebar[data-v-64d8f7ff],.sidebar-loading[data-v-64d8f7ff]{max-width:100vw;width:100vw}.nav-link[data-v-64d8f7ff],.logout-button[data-v-64d8f7ff],.report-problem-button[data-v-64d8f7ff]{padding:18px 20px;font-size:15px;touch-action:manipulation;min-height:54px}.mini-sidebar[data-v-64d8f7ff]{display:none}.sidebar-header[data-v-64d8f7ff]{padding:0 12px}.logo-container[data-v-64d8f7ff]{max-width:120px}}.language-toggle[data-v-91a62083]{display:flex;align-items:center}.lang-button[data-v-91a62083]{background:#fff;border:2px solid #000000;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;color:#000;cursor:pointer;transition:all .2s ease}.lang-button[data-v-91a62083]:hover{background:#000;color:#fff;border-color:#000}.lang-button.dark[data-v-91a62083]{background:#374151;border-color:#4b5563;color:#f9fafb}.lang-button.dark[data-v-91a62083]:hover{background:#4b5563;border-color:#6b7280}@media (max-width: 768px){.lang-button[data-v-91a62083]{padding:8px 14px;font-size:13px}}@media (max-width: 480px){.lang-button[data-v-91a62083]{padding:6px 12px;font-size:12px;min-width:50px}}.global-header[data-v-770d4385]{position:fixed;top:var(--banner-height);left:0;right:0;z-index:1000;padding:16px;pointer-events:none;transition:top .3s ease}.header-content[data-v-770d4385]{display:flex;justify-content:space-between;align-items:center;pointer-events:auto}.header-left[data-v-770d4385]{display:flex;align-items:center}.hamburger-menu[data-v-770d4385]{background:none;border:none;padding:8px;cursor:pointer;color:#333;border-radius:4px;transition:background-color .2s ease;display:none}.hamburger-menu[data-v-770d4385]:hover{background-color:#0000001a}.hamburger-menu[data-v-770d4385]:active{background-color:#0003}.header-right[data-v-770d4385]{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}@media (max-width: 900px){.hamburger-menu[data-v-770d4385]{display:block}.global-header[data-v-770d4385]{padding:12px}}@media (max-width: 768px){.global-header[data-v-770d4385]{padding:12px}}@media (max-width: 480px){.global-header[data-v-770d4385]{padding:8px}}.global-banner[data-v-093ce07d]{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 16px;box-shadow:0 2px 8px #00000026}@media (min-width: 769px){.global-banner[data-v-093ce07d]{left:280px}.global-banner.sidebar-closed[data-v-093ce07d]{left:0}.banner-content[data-v-093ce07d]{padding-left:40px}}.banner-content[data-v-093ce07d]{display:flex;align-items:center;justify-content:center;gap:12px;max-width:1200px;margin:0 auto}.banner-icon[data-v-093ce07d]{display:flex;align-items:center;flex-shrink:0}.banner-text[data-v-093ce07d]{flex:1;text-align:center;font-size:14px;line-height:1.5}.banner-slide-enter-active[data-v-093ce07d],.banner-slide-leave-active[data-v-093ce07d]{transition:all .3s ease}.banner-slide-enter-from[data-v-093ce07d],.banner-slide-leave-to[data-v-093ce07d]{transform:translateY(-100%);opacity:0}@media (max-width: 768px){.global-banner[data-v-093ce07d]{padding:10px 12px}.banner-text[data-v-093ce07d]{font-size:13px}.banner-icon svg[data-v-093ce07d]{width:18px;height:18px}}.impersonation-banner[data-v-2fc59a6c]{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;z-index:1001;box-shadow:0 2px 8px #00000026;padding:12px 20px;transition:left .3s ease}@media (min-width: 901px){.impersonation-banner[data-v-2fc59a6c]{left:320px}.impersonation-banner[data-v-2fc59a6c]:not(.sidebar-open){left:40px}}@media (max-width: 900px){.impersonation-banner[data-v-2fc59a6c]{left:0!important}}.banner-content[data-v-2fc59a6c]{display:flex;align-items:center;gap:16px;max-width:1400px;margin:0 auto}.banner-icon[data-v-2fc59a6c]{font-size:1.5rem;flex-shrink:0}.banner-text[data-v-2fc59a6c]{flex:1;font-size:.95rem;line-height:1.5}.banner-text strong[data-v-2fc59a6c]{font-weight:600}.admin-info[data-v-2fc59a6c]{opacity:.9;font-size:.85rem;margin-left:8px}.exit-button[data-v-2fc59a6c]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap;flex-shrink:0}.exit-button[data-v-2fc59a6c]:hover{background:#ffffff4d;border-color:#ffffff80}.exit-button[data-v-2fc59a6c]:active{transform:scale(.98)}@media (max-width: 768px){.banner-content[data-v-2fc59a6c]{flex-wrap:wrap;gap:12px}.banner-text[data-v-2fc59a6c]{font-size:.85rem;width:100%}.exit-button[data-v-2fc59a6c]{width:100%;padding:10px}}.error-boundary[data-v-f5f33e07]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:#f8f9fa}.error-content[data-v-f5f33e07]{max-width:500px;text-align:center;background:#fff;padding:3rem 2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;border:2px solid #e53e3e}.error-icon[data-v-f5f33e07]{margin-bottom:1.5rem;color:#e53e3e}.error-title[data-v-f5f33e07]{margin:0 0 1rem;color:#e53e3e;font-size:1.5rem;font-weight:600}.error-message[data-v-f5f33e07]{margin:0 0 2rem;color:#4a5568;line-height:1.5}.error-actions[data-v-f5f33e07]{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.retry-button[data-v-f5f33e07],.home-button[data-v-f5f33e07]{padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid}.retry-button[data-v-f5f33e07]{background:#e53e3e;color:#fff;border-color:#e53e3e}.retry-button[data-v-f5f33e07]:hover{background:#c53030;border-color:#c53030}.home-button[data-v-f5f33e07]{background:#fff;color:#4a5568;border-color:#4a5568}.home-button[data-v-f5f33e07]:hover{background:#4a5568;color:#fff}.error-details[data-v-f5f33e07]{text-align:left;margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.error-details summary[data-v-f5f33e07]{cursor:pointer;color:#4a5568;font-weight:500;margin-bottom:1rem}.error-stack[data-v-f5f33e07]{background:#f7fafc;padding:1rem;border-radius:6px;font-family:monospace;font-size:.875rem;color:#2d3748;overflow-x:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 480px){.error-content[data-v-f5f33e07]{padding:2rem 1rem}.error-actions[data-v-f5f33e07]{flex-direction:column}.retry-button[data-v-f5f33e07],.home-button[data-v-f5f33e07]{width:100%}}.notification-container[data-v-ff4de04d]{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:1rem;max-width:420px;pointer-events:none}.notification[data-v-ff4de04d]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.75rem;box-shadow:0 8px 25px -8px #00000026,0 4px 12px -2px #00000014;border:1px solid;background:#fff;pointer-events:auto;max-width:100%;word-wrap:break-word;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1)}.notification[data-v-ff4de04d]:hover{transform:translateY(-2px);box-shadow:0 12px 35px -12px #0003,0 6px 16px -4px #0000001f}.notification--success[data-v-ff4de04d]{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);color:#065f46}.notification--error[data-v-ff4de04d]{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2 0% 100%);color:#991b1b}.notification--warning[data-v-ff4de04d]{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e}.notification--info[data-v-ff4de04d]{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af}.notification__icon[data-v-ff4de04d]{flex-shrink:0;margin-top:.125rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fffc;padding:4px;box-shadow:0 2px 4px #0000001a}.notification--success .notification__icon[data-v-ff4de04d]{color:#10b981;background:#10b9811a}.notification--error .notification__icon[data-v-ff4de04d]{color:#ef4444;background:#ef44441a}.notification--warning .notification__icon[data-v-ff4de04d]{color:#f59e0b;background:#f59e0b1a}.notification--info .notification__icon[data-v-ff4de04d]{color:#3b82f6;background:#3b82f61a}.notification__content[data-v-ff4de04d]{flex:1;min-width:0}.notification__title[data-v-ff4de04d]{margin:0 0 .375rem;font-size:.875rem;font-weight:700;line-height:1.25rem;letter-spacing:-.025em}.notification__message[data-v-ff4de04d]{margin:0;font-size:.875rem;line-height:1.375rem;opacity:.9;font-weight:500}.notification__close[data-v-ff4de04d]{flex-shrink:0;background:none;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;opacity:.6;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:.125rem;color:inherit;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.notification__close[data-v-ff4de04d]:hover{opacity:1;background:#0000000d;transform:scale(1.05)}.notification__close[data-v-ff4de04d]:active{transform:scale(.95)}.notification-enter-active[data-v-ff4de04d],.notification-leave-active[data-v-ff4de04d]{transition:all .4s cubic-bezier(.4,0,.2,1)}.notification-enter-from[data-v-ff4de04d],.notification-leave-to[data-v-ff4de04d]{opacity:0;transform:translate(100%) scale(.95)}.notification-move[data-v-ff4de04d]{transition:transform .4s cubic-bezier(.4,0,.2,1)}@media (max-width: 640px){.notification-container[data-v-ff4de04d]{top:1rem;right:1rem;left:1rem;max-width:none;gap:.75rem}.notification[data-v-ff4de04d]{padding:.875rem;border-radius:.625rem}.notification__title[data-v-ff4de04d]{font-size:.8125rem;margin-bottom:.25rem}.notification__message[data-v-ff4de04d]{font-size:.8125rem;line-height:1.25rem}.notification__icon[data-v-ff4de04d]{width:20px;height:20px;padding:3px}.notification__close[data-v-ff4de04d]{min-width:28px;min-height:28px;padding:.375rem}}.offline-indicator[data-v-951174fe]{position:fixed;top:0;left:0;right:0;background:#dc2626;color:#fff;z-index:9999;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.offline-content[data-v-951174fe]{display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:1200px;margin:0 auto}.offline-icon[data-v-951174fe]{width:16px;height:16px;flex-shrink:0}.offline-text[data-v-951174fe]{flex:1;text-align:center}.retry-button[data-v-951174fe]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background-color .2s}.retry-button[data-v-951174fe]:hover{background:#ffffff4d}.maintenance-page[data-v-0b352e87]{position:fixed;inset:0;background:#fff;color:#222;z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.maintenance-content[data-v-0b352e87]{text-align:center;max-width:600px;width:100%;padding:3rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.maintenance-logo[data-v-0b352e87]{margin-bottom:2rem}.cube-logo[data-v-0b352e87]{width:150px;height:150px;opacity:1}.maintenance-text h1[data-v-0b352e87]{font-size:2rem;font-weight:700;margin-bottom:1rem;color:#222;line-height:1.2}.maintenance-text p[data-v-0b352e87]{font-size:1.1rem;color:#222;margin-bottom:2.5rem;line-height:1.6;font-weight:400}.refresh-button[data-v-0b352e87]{background:#222;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;min-width:140px}.refresh-button[data-v-0b352e87]:hover:not(:disabled){background:#444}.refresh-button[data-v-0b352e87]:disabled{background:#e5e7eb;color:#bbb;cursor:not-allowed}.refresh-button[data-v-0b352e87]:active:not(:disabled){transform:translateY(0)}@media (max-width: 768px){.maintenance-content[data-v-0b352e87]{padding:2rem 1.5rem;margin:1rem}.cube-logo[data-v-0b352e87]{width:120px;height:120px}.maintenance-text h1[data-v-0b352e87]{font-size:1.75rem}.maintenance-text p[data-v-0b352e87]{font-size:1rem}.refresh-button[data-v-0b352e87]{padding:10px 20px;font-size:14px}}@media (max-width: 480px){.maintenance-content[data-v-0b352e87]{padding:1.5rem 1rem;margin:.5rem}.cube-logo[data-v-0b352e87]{width:100px;height:100px}.maintenance-text h1[data-v-0b352e87]{font-size:1.5rem}.maintenance-text p[data-v-0b352e87]{font-size:.95rem}}.mobile-popup-overlay[data-v-9e654eaf]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.mobile-popup[data-v-9e654eaf]{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;position:relative;overflow:hidden}.mobile-popup__close[data-v-9e654eaf]{position:absolute;top:1rem;right:1rem;background:#0000000d;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .2s ease;z-index:1}.mobile-popup__close[data-v-9e654eaf]:hover{background:#0000001a;color:#333;transform:scale(1.1)}.mobile-popup__close[data-v-9e654eaf]:active{transform:scale(.95)}.mobile-popup__content[data-v-9e654eaf]{padding:2rem 1.5rem 1.5rem;text-align:center}.mobile-popup__icon[data-v-9e654eaf]{color:#007bff;margin-bottom:1rem;display:flex;justify-content:center;align-items:center}.mobile-popup__logo[data-v-9e654eaf]{max-width:200px;height:auto;width:100%}.mobile-popup__title[data-v-9e654eaf]{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:#333;line-height:1.2}.mobile-popup__message[data-v-9e654eaf]{margin:0 0 1.5rem;font-size:1rem;color:#666;line-height:1.5}.mobile-popup__buttons[data-v-9e654eaf]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.mobile-popup__button[data-v-9e654eaf]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:.75rem;text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s ease;border:none;cursor:pointer;color:#fff}.mobile-popup__button--appstore[data-v-9e654eaf]{background:#000}.mobile-popup__button--appstore[data-v-9e654eaf]:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mobile-popup__button--playstore[data-v-9e654eaf]{background:#01875f}.mobile-popup__button--playstore[data-v-9e654eaf]:hover{background:#016b4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mobile-popup__button svg[data-v-9e654eaf]{flex-shrink:0}.mobile-popup__dismiss[data-v-9e654eaf]{background:none;border:none;color:#999;font-size:.875rem;cursor:pointer;padding:.5rem;transition:color .2s ease;text-decoration:underline}.mobile-popup__dismiss[data-v-9e654eaf]:hover{color:#666}.popup-enter-active[data-v-9e654eaf],.popup-leave-active[data-v-9e654eaf]{transition:all .3s cubic-bezier(.4,0,.2,1)}.popup-enter-from[data-v-9e654eaf]{opacity:0}.popup-enter-from .mobile-popup[data-v-9e654eaf]{transform:scale(.9) translateY(20px)}.popup-leave-to[data-v-9e654eaf]{opacity:0}.popup-leave-to .mobile-popup[data-v-9e654eaf]{transform:scale(.95) translateY(-10px)}@media (max-width: 480px){.mobile-popup[data-v-9e654eaf]{border-radius:.75rem;margin:.5rem}.mobile-popup__content[data-v-9e654eaf]{padding:1.5rem 1.25rem 1.25rem}.mobile-popup__title[data-v-9e654eaf]{font-size:1.25rem}.mobile-popup__message[data-v-9e654eaf]{font-size:.9375rem}.mobile-popup__button[data-v-9e654eaf]{padding:.75rem 1.25rem;font-size:.9375rem}.mobile-popup__logo[data-v-9e654eaf]{max-width:160px}}#app[data-v-1b84dc6b]{--banner-height: var(--94091268)}.app-layout[data-v-1b84dc6b]{display:flex;min-height:100vh;background:#f8f9fa;width:100%;overflow-x:hidden;padding-top:var(--banner-height)}.app-layout[data-v-1b84dc6b]:has(.public-page){padding-top:0}.main-content[data-v-1b84dc6b]{flex:1;min-width:0;background:#f8f9fa;min-height:100vh;overflow-y:auto;width:100%;max-width:100%;transition:margin-left .3s ease}.main-content.public-page[data-v-1b84dc6b]{margin-left:0!important;width:100%!important;background:#f9fafb}@media (min-width: 901px){.main-content.with-sidebar.sidebar-open[data-v-1b84dc6b]{margin-left:320px}.main-content.with-sidebar[data-v-1b84dc6b]:not(.sidebar-open){margin-left:40px}}@media (max-width: 900px){.main-content.with-sidebar[data-v-1b84dc6b]{margin-left:0!important;width:100vw;padding:0}.main-content[data-v-1b84dc6b]{padding:0}}@media (max-width: 768px){.main-content.with-sidebar[data-v-1b84dc6b]{margin-left:0!important;width:100vw;padding:0}.main-content[data-v-1b84dc6b]{padding:0}}@media (max-width: 480px){.main-content.with-sidebar[data-v-1b84dc6b]{margin-left:0!important;width:100vw;padding:0}.main-content[data-v-1b84dc6b]{padding:0}}.permissions-loading[data-v-1b84dc6b]{flex:1;display:flex;align-items:center;justify-content:center;background:#f8f9fa;min-height:100vh}.loading-content[data-v-1b84dc6b]{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:400px}.loading-content h2[data-v-1b84dc6b]{margin:1rem 0 .5rem;color:#333;font-size:1.5rem}.loading-content p[data-v-1b84dc6b]{margin:0;color:#666;font-size:1rem}.spinner[data-v-1b84dc6b]{border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;width:48px;height:48px;animation:spin-1b84dc6b 1s linear infinite;margin:0 auto 1rem}@keyframes spin-1b84dc6b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
