*,:before,:after{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden}body{width:100%;max-width:100%;margin:0;font-family:sans-serif}#app{flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:100vh;display:flex}.navbar{box-sizing:border-box;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;min-width:0;max-width:100%;padding:1rem 2rem;display:flex;overflow-x:hidden}.navbar-brand{color:inherit;flex-shrink:1;align-items:center;gap:1rem;min-width:0;text-decoration:none;display:flex}.navbar-brand h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo{object-fit:contain;width:auto;height:40px}.main-nav{gap:2rem;display:flex}.nav-hidden{display:none!important}.nav-link{color:#495057;border-radius:4px;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:background-color .2s}.nav-link:hover{background-color:#e9ecef}.nav-link.router-link-active{color:#007bff;background-color:#e3f2fd}.nav-actions{align-items:center;gap:1.5rem;min-width:0;display:flex}.nav-dropdown-wrapper{flex-shrink:0;position:relative}.hamburger-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:flex}.hamburger-btn span{background:#495057;border-radius:2px;height:2px;transition:background .2s;display:block}.hamburger-btn:hover span{background:#007bff}.nav-dropdown{z-index:100;background:#fff;border:1px solid #dee2e6;border-radius:8px;min-width:160px;position:absolute;top:calc(100% + .5rem);left:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.dropdown-link{color:#495057;padding:.65rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s;display:block}.dropdown-link:hover,.dropdown-link.router-link-active{color:#007bff;background:#e3f2fd}.sign-out-btn{color:#fff;cursor:pointer;background-color:#dc3545;border:1px solid #dc3545;border-radius:4px;padding:.5rem 1rem}.sign-out-btn:hover{background-color:#c82333}main{box-sizing:border-box;flex:auto;width:100%;min-width:0;max-width:100%;padding:2rem;overflow-x:clip}.user-info{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;flex-direction:column;align-items:flex-end;gap:.25rem;width:fit-content;padding:.75rem 1rem;display:flex;box-shadow:0 1px 3px #0000001a}@media (width<=1024px){.navbar{flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.navbar-brand{min-width:0;max-width:100%}.nav-actions{box-sizing:border-box;flex-flow:column;flex:100%;justify-content:flex-start;align-items:stretch;gap:.5rem;width:100%;min-width:0;max-width:100%}.preview-toggle-btn,.sign-out-btn{white-space:normal;text-align:center;width:100%}.user-info{flex:none;width:100%;min-width:0;max-width:none}.user-info>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}@media (width<=768px){.navbar{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 1rem}.navbar-brand{box-sizing:border-box;width:100%;max-width:100%}.nav-dropdown-wrapper{align-self:flex-start}.navbar-brand h1{font-size:1rem}.logo{height:28px}.main-nav{flex-wrap:wrap;gap:.25rem;width:100%}.nav-link{padding:.4rem .6rem;font-size:.85rem}.nav-actions{box-sizing:border-box;flex-direction:column;flex:0 auto;align-self:stretch;align-items:stretch;gap:.5rem;width:100%;min-width:0;max-width:100%}.preview-toggle-btn{white-space:normal;text-align:center;width:100%}.user-info{flex:none;align-items:flex-start;width:100%;min-width:0;max-width:none;font-size:.85rem}.sign-out-btn{white-space:normal;text-align:center;width:100%;padding:.4rem .75rem;font-size:.85rem}main{padding:.75rem}}.role-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.role-base{color:#1565c0;background-color:#e3f2fd}.role-admin{color:#e65100;background-color:#fff3e0}.role-owner{color:#4527a0;background-color:#ede7f6}.preview-toggle-btn{color:#fff;cursor:pointer;font-size:inherit;background-color:#6c757d;border:1px solid #6c757d;border-radius:4px;padding:.5rem 1rem;font-weight:500;transition:all .2s}@media (width>=1025px){.preview-toggle-btn{white-space:nowrap}}.preview-toggle-btn:hover{background-color:#545b62;border-color:#545b62}.preview-toggle-btn.active{color:#fff;background-color:#1565c0;border-color:#1565c0}.preview-toggle-btn.active:hover{background-color:#0d47a1;border-color:#0d47a1}.home[data-v-a76b96fe]{box-sizing:border-box;width:100%;min-width:0;max-width:1200px;margin:0 auto}.home>h2[data-v-a76b96fe]{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.auth-prompt[data-v-a76b96fe]{text-align:center;background-color:#f8f9fa;border-radius:8px;margin:2rem 0;padding:3rem 2rem}.signin-btn-wrapper[data-v-a76b96fe]{justify-content:center;align-items:center;width:100%;min-width:200px;max-width:320px;min-height:48px;margin-top:1.5rem;margin-left:auto;margin-right:auto;display:flex}.gsi-render-error[data-v-a76b96fe]{color:#b00020;max-width:36rem;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.9rem}.divider[data-v-a76b96fe]{color:#aaa;align-items:center;gap:1rem;max-width:240px;margin:1.25rem auto;font-size:.85rem;display:flex}.divider[data-v-a76b96fe]:before,.divider[data-v-a76b96fe]:after{content:"";background:#ddd;flex:1;height:1px}.github-btn[data-v-a76b96fe]{color:#fff;background:#24292f;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.github-btn[data-v-a76b96fe]:hover{background:#3d444b}.github-icon[data-v-a76b96fe]{fill:currentColor;flex-shrink:0;width:20px;height:20px}.auth-error[data-v-a76b96fe]{color:#b00020;margin-top:1rem;font-size:.9rem}.email-auth[data-v-a76b96fe]{width:100%;max-width:320px;margin:1rem auto 0}.auth-mode-toggle[data-v-a76b96fe]{grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.6rem;display:grid}.auth-mode-toggle button[data-v-a76b96fe]{cursor:pointer;background:#fff;border:1px solid #ced4da;border-radius:6px;padding:.45rem .5rem}.auth-mode-toggle button.active[data-v-a76b96fe]{color:#fff;background:#4a6fa5;border-color:#4a6fa5}.email-auth-form[data-v-a76b96fe]{flex-direction:column;gap:.5rem;display:flex}.email-auth-form input[data-v-a76b96fe]{border:1px solid #ced4da;border-radius:6px;padding:.55rem .7rem;font-size:.95rem}.email-auth-submit[data-v-a76b96fe]{color:#fff;cursor:pointer;background:#4a6fa5;border:none;border-radius:6px;padding:.6rem .8rem;font-weight:600}.email-auth-submit[data-v-a76b96fe]:hover:not(:disabled){background:#3f5f8c}.email-auth-submit[data-v-a76b96fe]:disabled{opacity:.7;cursor:default}.forgot-password-btn[data-v-a76b96fe]{color:#4a6fa5;cursor:pointer;background:0 0;border:none;margin-top:.55rem;font-size:.88rem;text-decoration:underline}.forgot-password-btn[data-v-a76b96fe]:disabled{opacity:.6;cursor:default}.forgot-password-message[data-v-a76b96fe]{color:#2f5132;margin:.4rem 0 0;font-size:.85rem}.pending-access[data-v-a76b96fe]{text-align:center;background:#fff8e1;border:1px solid #ffe082;border-radius:8px;margin:2rem 0;padding:3rem 2rem}.pending-icon[data-v-a76b96fe]{margin-bottom:.75rem;font-size:2.5rem}.pending-access h3[data-v-a76b96fe]{color:#5d4037;margin:0 0 .75rem}.pending-access p[data-v-a76b96fe]{color:#5d4037;margin:.4rem 0}.dashboard[data-v-a76b96fe]{width:100%;min-width:0}.dashboard-content[data-v-a76b96fe]{flex-direction:column;gap:1rem;width:100%;min-width:0;margin-top:2rem;display:flex}.energy-overview[data-v-a76b96fe]{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000f}.energy-bars[data-v-a76b96fe]{background:linear-gradient(#f8fbff 0%,#fff 100%);border-bottom:1px solid #e8edf3;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.energy-item[data-v-a76b96fe]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.35rem;padding:.8rem;display:flex}.energy-label[data-v-a76b96fe]{color:#2d3748;font-weight:600}.energy-value[data-v-a76b96fe]{color:#111827;font-size:1.15rem;font-weight:700}.stations-bar[data-v-a76b96fe]{padding:1rem}.stations-meta[data-v-a76b96fe]{color:#6b7280;font-size:.9rem}.stations-squares[data-v-a76b96fe]{gap:.35rem;width:100%;display:grid}.station-square[data-v-a76b96fe]{aspect-ratio:1;text-align:center;border:1px solid #11182733;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:100%;padding:.25rem;display:flex;position:relative;overflow:hidden}.station-name[data-v-a76b96fe],.station-number[data-v-a76b96fe]{color:#0f172a;word-break:break-word;font-size:clamp(.95rem,2.2vw,1.6rem);font-weight:600;line-height:1.1}.station-number[data-v-a76b96fe]{font-size:clamp(.7rem,1.5vw,.95rem);display:none}.station-load[data-v-a76b96fe]{color:#111827;font-size:clamp(.7rem,1.35vw,.9rem);font-weight:700;line-height:1}.station-square.free[data-v-a76b96fe]{background:#22c55e59}.station-square.busy[data-v-a76b96fe]{background:#ef444459}@media (width<=900px){.energy-bars[data-v-a76b96fe]{grid-template-columns:1fr}.station-name[data-v-a76b96fe]{display:none}.station-number[data-v-a76b96fe]{display:inline}}.features[data-v-a76b96fe]{grid-template-columns:minmax(0,1fr);gap:1rem;width:100%;min-width:0;margin-top:0;display:grid}@media (width>=40rem){.features[data-v-a76b96fe]{grid-template-columns:repeat(2,minmax(0,1fr))}}.feature-card[data-v-a76b96fe]{overflow-wrap:break-word;background-color:#fff;border:1px solid #dee2e6;border-radius:8px;min-width:0;padding:1.5rem;transition:transform .2s,box-shadow .2s}.feature-card[data-v-a76b96fe]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.feature-card h3[data-v-a76b96fe]{color:#495057;margin-top:0}.card-link[data-v-a76b96fe]{color:inherit;min-width:0;text-decoration:none;display:block}.card-link[data-v-a76b96fe]:hover{color:inherit;text-decoration:none}.admin-tools[data-v-a76b96fe]{box-sizing:border-box;background:#fff5f5;border:1px solid #f5c2c7;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;width:100%;min-width:0;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.admin-tools-label[data-v-a76b96fe]{color:#842029;margin:0;font-size:.9rem;font-weight:600}.admin-tools button[data-v-a76b96fe]{white-space:normal;word-break:break-word;text-align:center;max-width:100%}.btn-wipe[data-v-a76b96fe]{color:#842029;cursor:pointer;background:#fff;border:1px solid #f5c2c7;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.btn-wipe[data-v-a76b96fe]:hover{background:#f8d7da}.btn-gnucash-wipe[data-v-a76b96fe]{color:#0d6efd;cursor:pointer;background:#fff;border:1px solid #9ec5fe;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.btn-gnucash-wipe[data-v-a76b96fe]:hover{background:#e7f1ff}.btn-clear-charging[data-v-a76b96fe]{color:#842029;cursor:pointer;background:#fff;border:1px solid #f5c2c7;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.btn-clear-charging[data-v-a76b96fe]:hover{background:#f8d7da}.modal-panel--clear-charging .modal-title[data-v-a76b96fe]{color:#842029}.modal-instructions[data-v-a76b96fe]{color:#333;margin:0 0 .35rem;font-size:.9rem}.modal-phrase[data-v-a76b96fe]{word-break:break-all;background:#f1f3f5;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.9rem;display:block}.modal-input[data-v-a76b96fe]{box-sizing:border-box;border:1px solid #ced4da;border-radius:6px;width:100%;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.95rem}.btn-confirm-clear-charging[data-v-a76b96fe]{color:#fff;cursor:pointer;background:#842029;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.btn-confirm-clear-charging[data-v-a76b96fe]:disabled{opacity:.5;cursor:not-allowed}.modal-panel--gnucash .modal-title[data-v-a76b96fe]{color:#084298}.gnucash-wipe-dry[data-v-a76b96fe]{color:#333;cursor:pointer;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9rem;display:flex}.btn-confirm-gnucash-wipe[data-v-a76b96fe]{color:#fff;cursor:pointer;background:#0d6efd;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.btn-confirm-gnucash-wipe[data-v-a76b96fe]:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-gnucash-wipe[data-v-a76b96fe]:not(:disabled):hover{background:#0b5ed7}.modal-backdrop[data-v-a76b96fe]{z-index:10000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel[data-v-a76b96fe]{background:#fff;border-radius:10px;width:100%;max-width:32rem;padding:1.5rem;box-shadow:0 8px 32px #0003}.modal-title[data-v-a76b96fe]{color:#842029;margin:0 0 .75rem;font-size:1.25rem}.modal-warning[data-v-a76b96fe]{color:#333;margin:0 0 1rem;font-size:.95rem;line-height:1.5}.modal-error[data-v-a76b96fe]{color:#842029;margin:.5rem 0 0;font-size:.9rem}.modal-actions[data-v-a76b96fe]{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.btn-cancel[data-v-a76b96fe]{color:#333;cursor:pointer;background:#e9ecef;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.btn-cancel[data-v-a76b96fe]:disabled{opacity:.6;cursor:not-allowed}.btn-confirm-wipe[data-v-a76b96fe]{color:#fff;cursor:pointer;background:#842029;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.btn-confirm-wipe[data-v-a76b96fe]:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-wipe[data-v-a76b96fe]:not(:disabled):hover{background:#6a1a22}.users-page[data-v-1b85838d]{max-width:1200px;margin:0 auto;padding:2rem}.page-header[data-v-1b85838d]{border-bottom:2px solid #e9ecef;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.page-header h1[data-v-1b85838d]{color:#333;margin:0}.user-count[data-v-1b85838d]{color:#666;background:#f8f9fa;border-radius:20px;padding:.5rem 1rem;font-size:1rem}.invite-form[data-v-1b85838d]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:.75rem}.invite-label[data-v-1b85838d]{color:#444;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.invite-row[data-v-1b85838d]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.invite-name-input[data-v-1b85838d]{flex:1;min-width:160px}.invite-checkbox[data-v-1b85838d]{color:#444;cursor:pointer;align-items:center;gap:.5rem;margin-top:.65rem;font-size:.9rem;display:flex}.invite-checkbox input[data-v-1b85838d]{cursor:pointer}.invite-input[data-v-1b85838d]{border:1px solid #ced4da;border-radius:4px;flex:1;padding:.5rem .75rem;font-size:.9rem}.invite-input[data-v-1b85838d]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff33}.btn-invite[data-v-1b85838d]{color:#fff;background-color:#28a745;min-width:90px}.btn-invite[data-v-1b85838d]:hover{background-color:#1f8838}.btn-invite[data-v-1b85838d]:disabled{opacity:.7;cursor:not-allowed}.invite-message[data-v-1b85838d]{margin:.5rem 0 0;font-size:.8rem}.success[data-v-1b85838d]{color:#1f8838}.error-text[data-v-1b85838d]{color:#b42318}.loading[data-v-1b85838d]{text-align:center;color:#666;padding:2rem;font-size:1.1rem}.error[data-v-1b85838d]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:2rem;padding:1rem}.no-users[data-v-1b85838d]{text-align:center;color:#666;padding:2rem;font-size:1.1rem}.users-grid[data-v-1b85838d]{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.user-card[data-v-1b85838d]{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}.user-card[data-v-1b85838d]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.user-avatar[data-v-1b85838d]{justify-content:center;margin-bottom:1rem;display:flex}.avatar-img[data-v-1b85838d]{object-fit:cover;border:2px solid #e9ecef;border-radius:50%;width:60px;height:60px}.avatar-placeholder[data-v-1b85838d]{color:#fff;background-color:#6c757d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.2rem;font-weight:700;display:flex}.user-info[data-v-1b85838d]{text-align:center}.user-name[data-v-1b85838d]{color:#333;justify-content:center;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.2rem;display:inline-flex}.invite-badge[data-v-1b85838d]{letter-spacing:.3px;text-transform:uppercase;color:#7a2e00;background:#ffe8cc;border:1px solid #ffd8a8;border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.user-email[data-v-1b85838d]{color:#666;margin:0 0 1rem;font-size:.9rem}.user-dates[data-v-1b85838d]{flex-direction:column;gap:.5rem;display:flex}.date-item[data-v-1b85838d]{border-bottom:1px solid #f1f3f4;justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.date-item[data-v-1b85838d]:last-child{border-bottom:none}.date-label[data-v-1b85838d]{color:#666;font-size:.85rem;font-weight:500}.date-value[data-v-1b85838d]{color:#333;font-size:.85rem}.user-actions[data-v-1b85838d]{border-top:1px solid #f1f3f4;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn[data-v-1b85838d]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-edit[data-v-1b85838d]{color:#fff;background-color:#007bff}.btn-edit[data-v-1b85838d]:hover{background-color:#0056b3;transform:translateY(-1px)}.btn-delete[data-v-1b85838d]{color:#fff;background-color:#dc3545}.btn-delete[data-v-1b85838d]:hover:not(:disabled){background-color:#b02a37;transform:translateY(-1px)}.btn-delete[data-v-1b85838d]:disabled{opacity:.65;cursor:not-allowed;transform:none}.mono[data-v-1b85838d]{font-family:ui-monospace,monospace;font-size:.8rem}.btn-gnucash-customer[data-v-1b85838d]{color:#fff;background-color:#2d6a4f}.btn-gnucash-customer[data-v-1b85838d]:hover:not(:disabled){background-color:#1b4332;transform:translateY(-1px)}.btn-gnucash-customer[data-v-1b85838d]:disabled{opacity:.55;cursor:not-allowed;transform:none}.role-management[data-v-1b85838d]{align-items:center;gap:.5rem;display:flex}.role-badge[data-v-1b85838d]{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.role-base[data-v-1b85838d]{color:#1565c0;background-color:#e3f2fd}.role-admin[data-v-1b85838d]{color:#e65100;background-color:#fff3e0}.role-owner[data-v-1b85838d]{color:#4527a0;background-color:#ede7f6}.role-select[data-v-1b85838d]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.role-select[data-v-1b85838d]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}@media (width<=768px){.users-page[data-v-1b85838d]{padding:.75rem}.page-header[data-v-1b85838d]{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.page-header h1[data-v-1b85838d]{font-size:1.4rem}.users-grid[data-v-1b85838d]{grid-template-columns:1fr}.invite-row[data-v-1b85838d]{flex-direction:column;align-items:stretch}.btn-invite[data-v-1b85838d]{width:100%}.user-card[data-v-1b85838d]{padding:1rem}.date-item[data-v-1b85838d]{flex-direction:column;align-items:flex-start;gap:.1rem}.role-management[data-v-1b85838d]{flex-wrap:wrap}}.edit-user-page[data-v-3b5744bf]{max-width:600px;margin:0 auto;padding:2rem}.access-denied[data-v-3b5744bf]{text-align:center;color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:3rem}.access-denied h2[data-v-3b5744bf]{margin:0 0 .5rem}.page-header[data-v-3b5744bf]{margin-bottom:2rem}.header-content[data-v-3b5744bf]{flex-direction:column;gap:1rem;display:flex}.back-link[data-v-3b5744bf]{color:#007bff;font-size:.9rem;text-decoration:none;transition:color .2s}.back-link[data-v-3b5744bf]:hover{color:#0056b3}.page-header h1[data-v-3b5744bf]{color:#333;margin:0}.loading[data-v-3b5744bf]{text-align:center;color:#666;padding:2rem;font-size:1.1rem}.error[data-v-3b5744bf]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:2rem;padding:1rem}.edit-form-container[data-v-3b5744bf]{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.user-preview[data-v-3b5744bf]{background:#f8f9fa;border-radius:8px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.preview-avatar .avatar-img[data-v-3b5744bf]{object-fit:cover;border:2px solid #e9ecef;border-radius:50%;width:60px;height:60px}.preview-avatar .avatar-placeholder[data-v-3b5744bf]{color:#fff;background-color:#6c757d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.2rem;font-weight:700;display:flex}.preview-info h3[data-v-3b5744bf]{color:#333;margin:0 0 .25rem}.preview-info p[data-v-3b5744bf]{color:#666;margin:0}.edit-form[data-v-3b5744bf]{flex-direction:column;gap:1.5rem;display:flex}.form-group[data-v-3b5744bf]{flex-direction:column;gap:.5rem;display:flex}.form-label[data-v-3b5744bf]{color:#333;font-size:.9rem;font-weight:600}.form-input[data-v-3b5744bf]{border:1px solid #ced4da;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input[data-v-3b5744bf]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.form-select[data-v-3b5744bf]{cursor:pointer;background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-select[data-v-3b5744bf]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.form-hint[data-v-3b5744bf]{color:#6c757d;margin:4px 0 0;font-size:.8rem}.role-display[data-v-3b5744bf]{align-items:center;gap:1rem;display:flex}.role-badge[data-v-3b5744bf]{text-transform:uppercase;border-radius:15px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.role-admin[data-v-3b5744bf]{color:#fff;background-color:#dc3545}.role-base[data-v-3b5744bf]{color:#fff;background-color:#6c757d}.role-owner[data-v-3b5744bf]{color:#fff;background-color:#5e35b1}.role-note[data-v-3b5744bf]{color:#666;font-size:.8rem;font-style:italic}.user-metadata[data-v-3b5744bf]{background:#f8f9fa;border-radius:6px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.metadata-item[data-v-3b5744bf]{justify-content:space-between;align-items:center;display:flex}.metadata-label[data-v-3b5744bf]{color:#666;font-size:.9rem;font-weight:500}.metadata-value[data-v-3b5744bf]{color:#333;font-size:.9rem}.form-actions[data-v-3b5744bf]{border-top:1px solid #e9ecef;justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.btn[data-v-3b5744bf]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn[data-v-3b5744bf]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-3b5744bf]{color:#fff;background-color:#007bff}.btn-primary[data-v-3b5744bf]:hover:not(:disabled){background-color:#0056b3}.btn-secondary[data-v-3b5744bf]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-3b5744bf]:hover:not(:disabled){background-color:#545b62}@media (width<=768px){.edit-user-page[data-v-3b5744bf]{padding:.75rem}.page-header h1[data-v-3b5744bf]{font-size:1.4rem}.edit-form-container[data-v-3b5744bf]{padding:1rem}.user-preview[data-v-3b5744bf]{text-align:center;flex-direction:column;padding:1rem}.metadata-item[data-v-3b5744bf]{flex-direction:column;align-items:flex-start;gap:.1rem}.form-actions[data-v-3b5744bf]{flex-direction:column}.btn[data-v-3b5744bf]{width:100%}}.sessions-page[data-v-65a0bfbe]{max-width:1200px;margin:0 auto;padding:2rem}.page-header[data-v-65a0bfbe]{border-bottom:2px solid #e9ecef;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.page-header h1[data-v-65a0bfbe]{color:#333;margin:0}.header-actions[data-v-65a0bfbe]{gap:1rem;display:flex}.filters-section[data-v-65a0bfbe]{background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex}.filter-group[data-v-65a0bfbe]{align-items:center;gap:.5rem;display:flex}.filter-group label[data-v-65a0bfbe]{color:#333;font-size:.9rem;font-weight:500}.month-selector[data-v-65a0bfbe]{background-color:#fff;border:1px solid #ddd;border-radius:4px;min-width:150px;padding:.5rem;font-size:.9rem}.month-selector[data-v-65a0bfbe]:disabled{color:#666;cursor:not-allowed;background-color:#f5f5f5}.month-selector[data-v-65a0bfbe]:focus{border-color:#06c;outline:none;box-shadow:0 0 0 2px #06c3}.active-filter[data-v-65a0bfbe]{color:#fff;background-color:#06c;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.85rem;display:flex}.clear-filter[data-v-65a0bfbe]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:12px;display:flex}.clear-filter[data-v-65a0bfbe]:hover{background-color:#fff3}.loading[data-v-65a0bfbe]{text-align:center;color:#666;padding:2rem;font-size:1.1rem}.error[data-v-65a0bfbe]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:2rem;padding:1rem}.sessions-summary[data-v-65a0bfbe]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.summary-card[data-v-65a0bfbe]{text-align:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.summary-number[data-v-65a0bfbe]{color:#007bff;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:block}.summary-label[data-v-65a0bfbe]{color:#666;font-size:1rem;display:block}.sessions-table-container[data-v-65a0bfbe]{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:2rem;overflow:hidden;box-shadow:0 2px 4px #0000001a}.sessions-table[data-v-65a0bfbe]{border-collapse:collapse;width:100%}.sessions-table th[data-v-65a0bfbe]{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:1rem;font-weight:600}.session-row[data-v-65a0bfbe]{transition:background-color .2s}.session-row[data-v-65a0bfbe]:hover{background-color:#f8f9fa}.session-row td[data-v-65a0bfbe]{border-bottom:1px solid #e9ecef;padding:1rem}.user-badge[data-v-65a0bfbe]{color:#1565c0;background-color:#e3f2fd;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.station-cell .station-name[data-v-65a0bfbe]{color:#333;font-weight:600}.mono-cell[data-v-65a0bfbe]{color:#444;font-family:ui-monospace,monospace;font-size:.9rem}.ongoing-label[data-v-65a0bfbe]{color:#1565c0;font-size:.9rem;font-weight:600}.energy-cell[data-v-65a0bfbe]{color:#2e7d32;font-weight:600}.pagination[data-v-65a0bfbe]{justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-info[data-v-65a0bfbe]{color:#666;font-weight:500}.no-sessions[data-v-65a0bfbe]{text-align:center;color:#666;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:3rem 2rem}.no-sessions h3[data-v-65a0bfbe]{color:#333;margin:0 0 1rem}.no-sessions p[data-v-65a0bfbe]{margin:0 0 2rem}.btn[data-v-65a0bfbe]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn[data-v-65a0bfbe]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-65a0bfbe]{color:#fff;background-color:#007bff}.btn-primary[data-v-65a0bfbe]:hover:not(:disabled){background-color:#0056b3}.btn-secondary[data-v-65a0bfbe]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-65a0bfbe]:hover:not(:disabled){background-color:#545b62}.btn-success[data-v-65a0bfbe]{color:#fff;background-color:#28a745}.btn-success[data-v-65a0bfbe]:hover:not(:disabled){background-color:#1e7e34}.btn-danger[data-v-65a0bfbe]{color:#fff;background-color:#dc3545}.btn-danger[data-v-65a0bfbe]:hover:not(:disabled){background-color:#b02a37}.actions-cell[data-v-65a0bfbe]{white-space:nowrap}.btn-icon[data-v-65a0bfbe]{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .4rem;font-size:1rem;line-height:1;transition:background-color .15s}.btn-icon[data-v-65a0bfbe]:hover{background-color:#e9ecef}.modal-sm[data-v-65a0bfbe]{max-width:360px}.delete-detail[data-v-65a0bfbe]{color:#555;margin-top:-.5rem;font-size:.9rem}.modal-overlay[data-v-65a0bfbe]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-65a0bfbe]{background:#fff;border-radius:8px;width:100%;max-width:480px;box-shadow:0 8px 32px #0003}.modal-header[data-v-65a0bfbe]{border-bottom:1px solid #dee2e6;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-65a0bfbe]{color:#333;margin:0;font-size:1.2rem}.modal-close[data-v-65a0bfbe]{cursor:pointer;color:#666;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.modal-close[data-v-65a0bfbe]:hover{color:#333}.modal-body[data-v-65a0bfbe]{padding:1.5rem}.form-group[data-v-65a0bfbe]{margin-bottom:1rem}.form-group label[data-v-65a0bfbe]{color:#333;margin-bottom:.4rem;font-size:.9rem;font-weight:500;display:block}.optional-label[data-v-65a0bfbe]{color:#888;font-size:.85rem;font-weight:400}.field-hint[data-v-65a0bfbe]{color:#666;margin:.35rem 0 0;font-size:.8rem;line-height:1.35}.form-input[data-v-65a0bfbe]{box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;padding:.5rem .75rem;font-size:.9rem}.form-input[data-v-65a0bfbe]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff33}.add-error[data-v-65a0bfbe]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.modal-actions[data-v-65a0bfbe]{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.sync-result-box[data-v-65a0bfbe]{color:#1b5e20;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.sync-result-box p[data-v-65a0bfbe]{margin:.25rem 0}.reconcile-open-list[data-v-65a0bfbe]{margin-top:.75rem}.reconcile-open-list ul[data-v-65a0bfbe]{margin:.35rem 0 0;padding-left:1.25rem}@media (width<=768px){.sessions-page[data-v-65a0bfbe]{padding:.75rem}.page-header[data-v-65a0bfbe]{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.page-header h1[data-v-65a0bfbe]{font-size:1.4rem}.filters-section[data-v-65a0bfbe]{gap:.75rem;padding:.75rem}.sessions-summary[data-v-65a0bfbe]{grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-card[data-v-65a0bfbe]{padding:.75rem .5rem}.summary-number[data-v-65a0bfbe]{font-size:1.5rem}.summary-label[data-v-65a0bfbe]{font-size:.75rem}.sessions-table-container[data-v-65a0bfbe]{-webkit-overflow-scrolling:touch;overflow-x:auto}.sessions-table[data-v-65a0bfbe]{min-width:700px}.sessions-table th[data-v-65a0bfbe],.session-row td[data-v-65a0bfbe]{padding:.6rem .5rem;font-size:.85rem}.pagination[data-v-65a0bfbe]{flex-wrap:wrap;gap:.5rem}.btn[data-v-65a0bfbe]{padding:.6rem 1rem;font-size:.85rem}}.sessions-page[data-v-2a0db777]{max-width:1200px;margin:0 auto;padding:2rem}.page-header[data-v-2a0db777]{border-bottom:2px solid #e9ecef;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.page-header h1[data-v-2a0db777]{color:#333;margin:0}.filters-section[data-v-2a0db777]{background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex}.filter-group[data-v-2a0db777]{align-items:center;gap:.5rem;display:flex}.filter-group label[data-v-2a0db777]{color:#333;font-size:.9rem;font-weight:500}.month-selector[data-v-2a0db777]{background-color:#fff;border:1px solid #ddd;border-radius:4px;min-width:150px;padding:.5rem;font-size:.9rem}.month-selector[data-v-2a0db777]:disabled{color:#666;cursor:not-allowed;background-color:#f5f5f5}.month-selector[data-v-2a0db777]:focus{border-color:#06c;outline:none;box-shadow:0 0 0 2px #06c3}.active-filter[data-v-2a0db777]{color:#fff;background-color:#06c;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.85rem;display:flex}.clear-filter[data-v-2a0db777]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:12px;display:flex}.clear-filter[data-v-2a0db777]:hover{background-color:#fff3}.loading[data-v-2a0db777]{text-align:center;color:#666;padding:2rem;font-size:1.1rem}.error[data-v-2a0db777]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:2rem;padding:1rem}.sessions-summary[data-v-2a0db777]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.summary-card[data-v-2a0db777]{text-align:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.summary-number[data-v-2a0db777]{color:#007bff;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:block}.summary-label[data-v-2a0db777]{color:#666;font-size:1rem;display:block}.sessions-table-container[data-v-2a0db777]{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:2rem;overflow:hidden;box-shadow:0 2px 4px #0000001a}.sessions-table[data-v-2a0db777]{border-collapse:collapse;width:100%}.sessions-table th[data-v-2a0db777]{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:1rem;font-weight:600}.session-row[data-v-2a0db777]{transition:background-color .2s}.session-row[data-v-2a0db777]:hover{background-color:#f8f9fa}.session-row td[data-v-2a0db777]{border-bottom:1px solid #e9ecef;padding:1rem}.user-badge[data-v-2a0db777]{color:#1565c0;background-color:#e3f2fd;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.station-cell .station-name[data-v-2a0db777]{color:#333;font-weight:600}.mono-cell[data-v-2a0db777]{color:#444;font-family:ui-monospace,monospace;font-size:.9rem}.ongoing-label[data-v-2a0db777]{color:#1565c0;font-size:.9rem;font-weight:600}.energy-cell[data-v-2a0db777]{color:#2e7d32;font-weight:600}.pagination[data-v-2a0db777]{justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-info[data-v-2a0db777]{color:#666;font-weight:500}.no-sessions[data-v-2a0db777]{text-align:center;color:#666;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:3rem 2rem}.no-sessions h3[data-v-2a0db777]{color:#333;margin:0 0 1rem}.no-sessions p[data-v-2a0db777]{margin:0 0 1rem}.btn[data-v-2a0db777]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn[data-v-2a0db777]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-2a0db777]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-2a0db777]:hover:not(:disabled){background-color:#545b62}@media (width<=768px){.sessions-page[data-v-2a0db777]{padding:.75rem}.page-header[data-v-2a0db777]{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.page-header h1[data-v-2a0db777]{font-size:1.4rem}.filters-section[data-v-2a0db777]{gap:.75rem;padding:.75rem}.sessions-summary[data-v-2a0db777]{grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-card[data-v-2a0db777]{padding:.75rem .5rem}.summary-number[data-v-2a0db777]{font-size:1.5rem}.summary-label[data-v-2a0db777]{font-size:.75rem}.sessions-table-container[data-v-2a0db777]{-webkit-overflow-scrolling:touch;overflow-x:auto}.sessions-table[data-v-2a0db777]{min-width:500px}.sessions-table th[data-v-2a0db777],.session-row td[data-v-2a0db777]{padding:.6rem .5rem;font-size:.85rem}.pagination[data-v-2a0db777]{flex-wrap:wrap;gap:.5rem}.btn[data-v-2a0db777]{padding:.6rem 1rem;font-size:.85rem}}.mono-cell[data-v-db036b71]{color:#444;font-family:ui-monospace,monospace;font-size:.85rem}.charging-users-page[data-v-db036b71]{max-width:900px;margin:0 auto;padding:2rem}.page-header[data-v-db036b71]{margin-bottom:2rem}.page-header h1[data-v-db036b71]{margin:0 0 .5rem}.subtitle[data-v-db036b71]{color:#666;margin:0}.table-card[data-v-db036b71]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.charging-users-table[data-v-db036b71]{border-collapse:collapse;width:100%}.charging-users-table th[data-v-db036b71],.charging-users-table td[data-v-db036b71]{text-align:left;border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.charging-users-table th[data-v-db036b71]{color:#333;background:#f5f5f5;font-weight:600}.charging-users-table tr:last-child td[data-v-db036b71]{border-bottom:none}.charging-users-table tr:hover td[data-v-db036b71]{background:#fafafa}.linked-badge[data-v-db036b71]{color:#155724;background:#d4edda;border-radius:12px;padding:.2rem .6rem;font-size:.85rem}.unlinked-badge[data-v-db036b71]{color:#999;font-size:.85rem}.btn-edit[data-v-db036b71]{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;text-decoration:none;display:inline-block}.btn-edit[data-v-db036b71]:hover{background:#0056b3}.loading[data-v-db036b71]{text-align:center;color:#666;padding:2rem}.error[data-v-db036b71]{color:#721c24;background:#f8d7da;border-radius:8px;margin-bottom:1rem;padding:1rem}.no-data[data-v-db036b71]{text-align:center;color:#666;padding:2rem}.edit-charging-user-page[data-v-612d1e89]{max-width:600px;margin:0 auto;padding:2rem}.page-header[data-v-612d1e89]{margin-bottom:2rem}.rfid-line[data-v-612d1e89]{color:#555;margin:.35rem 0 0;font-size:.95rem}.rfid-line code[data-v-612d1e89]{background:#f4f4f4;border-radius:4px;padding:.15rem .4rem;font-size:.9rem}.header-content[data-v-612d1e89]{flex-direction:column;gap:1rem;display:flex}.back-link[data-v-612d1e89]{color:#007bff;font-size:.9rem;text-decoration:none}.back-link[data-v-612d1e89]:hover{text-decoration:underline}.access-denied[data-v-612d1e89]{text-align:center;color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:3rem}.edit-form-container[data-v-612d1e89]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:2rem}.edit-form[data-v-612d1e89]{flex-direction:column;gap:1.5rem;display:flex}.form-group[data-v-612d1e89]{flex-direction:column;gap:.4rem;display:flex}.form-label[data-v-612d1e89]{color:#333;font-size:.9rem;font-weight:600}.form-input[data-v-612d1e89],.form-select[data-v-612d1e89]{box-sizing:border-box;border:1px solid #ccc;border-radius:6px;width:100%;padding:.6rem .8rem;font-size:1rem}.form-input[data-v-612d1e89]:focus,.form-select[data-v-612d1e89]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff26}.form-hint[data-v-612d1e89]{color:#888;margin:0;font-size:.8rem}.address-fieldset[data-v-612d1e89]{border:1px solid #e0e0e0;border-radius:6px;margin:0;padding:1rem 1.25rem}.fieldset-legend[data-v-612d1e89]{color:#333;padding:0 .4rem;font-size:.9rem;font-weight:600}.form-row[data-v-612d1e89]{gap:1rem;display:flex}.form-group-grow[data-v-612d1e89]{flex:1}.form-group-narrow[data-v-612d1e89]{flex:0 0 100px}.form-group-postal[data-v-612d1e89]{flex:0 0 130px}.form-actions[data-v-612d1e89]{justify-content:flex-end;gap:1rem;display:flex}.btn[data-v-612d1e89]{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.4rem;font-size:.95rem}.btn[data-v-612d1e89]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-612d1e89]{color:#fff;background:#007bff}.btn-primary[data-v-612d1e89]:hover:not(:disabled){background:#0056b3}.btn-secondary[data-v-612d1e89]{color:#333;background:#f0f0f0}.btn-secondary[data-v-612d1e89]:hover:not(:disabled){background:#e0e0e0}.loading[data-v-612d1e89]{text-align:center;color:#666;padding:2rem}.error[data-v-612d1e89]{color:#721c24;background:#f8d7da;border-radius:8px;margin-bottom:1rem;padding:1rem}.invoice-grid-page[data-v-215acb9c]{max-width:100%;margin:0 auto;padding:2rem}.page-header[data-v-215acb9c]{margin-bottom:2rem}.page-header h1[data-v-215acb9c]{color:#333;margin:0 0 .5rem}.page-header p[data-v-215acb9c]{color:#666;margin:0;font-size:1.1rem}.loading[data-v-215acb9c]{text-align:center;color:#666;padding:3rem;font-size:1.1rem}.error[data-v-215acb9c]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:2rem;padding:1rem}.gnucash-toolbar[data-v-215acb9c]{background:#f0f7ff;border:1px solid #b8daff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.gnucash-toolbar-title[data-v-215acb9c]{color:#004085;margin-right:.25rem;font-weight:700}.gnucash-field[data-v-215acb9c]{color:#333;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.gnucash-select[data-v-215acb9c]{background:#fff;border:1px solid #ced4da;border-radius:4px;padding:.35rem .5rem;font-size:.9rem}.btn-gnucash[data-v-215acb9c]{color:#fff;cursor:pointer;background:#004085;border:none;border-radius:4px;padding:.45rem .85rem;font-size:.9rem;font-weight:600}.btn-gnucash[data-v-215acb9c]:hover:not(:disabled){background:#002752}.btn-gnucash[data-v-215acb9c]:disabled{opacity:.6;cursor:not-allowed}.btn-gnucash-cell[data-v-215acb9c]{color:#004085;cursor:pointer;background:#fff;border:1px solid #004085;border-radius:4px;width:100%;margin-top:.35rem;padding:.3rem .4rem;font-size:.75rem}.btn-gnucash-cell[data-v-215acb9c]:hover:not(:disabled){background:#e7f1ff}.btn-gnucash-cell[data-v-215acb9c]:disabled{opacity:.6;cursor:not-allowed}.btn-email-invoice[data-v-215acb9c]{color:#495057;cursor:pointer;background:#fff;border:1px solid #6c757d;border-radius:4px;width:100%;margin-top:.35rem;padding:.3rem .4rem;font-size:.75rem}.btn-email-invoice[data-v-215acb9c]:hover:not(:disabled){color:#fff;background:#495057}.btn-email-invoice[data-v-215acb9c]:disabled{opacity:.5;cursor:not-allowed}.mobile-email[data-v-215acb9c],.mobile-gnucash[data-v-215acb9c]{margin-top:.5rem}.admin-controls[data-v-215acb9c]{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.generation-section[data-v-215acb9c]{margin-bottom:2rem}.generation-section[data-v-215acb9c]:last-child{margin-bottom:0}.generation-section h3[data-v-215acb9c]{color:#333;margin:0 0 1rem;font-size:1.1rem}.generate-form[data-v-215acb9c]{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.bulk-result[data-v-215acb9c]{background:#e9ecef;border-radius:4px;margin-top:1rem;padding:1rem}.bulk-result h4[data-v-215acb9c]{color:#333;margin:0 0 .5rem;font-size:1rem}.result-summary[data-v-215acb9c]{flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;display:flex}.result-stat[data-v-215acb9c]{border-radius:3px;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.result-stat.generated[data-v-215acb9c]{color:#155724;background:#d4edda}.result-stat.skipped[data-v-215acb9c]{color:#856404;background:#fff3cd}.result-stat.errors[data-v-215acb9c]{color:#721c24;background:#f8d7da}.form-select[data-v-215acb9c],.form-input[data-v-215acb9c]{border:1px solid #ced4da;border-radius:4px;padding:.5rem;font-size:.9rem}.amount-input[data-v-215acb9c]{width:120px}.btn[data-v-215acb9c]{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.btn[data-v-215acb9c]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-215acb9c]{color:#fff;background-color:#007bff}.btn-primary[data-v-215acb9c]:hover:not(:disabled){background-color:#0056b3}.btn-secondary[data-v-215acb9c]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-215acb9c]:hover:not(:disabled){background-color:#545b62}.btn-link[data-v-215acb9c]{color:#007bff;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.btn-link[data-v-215acb9c]:hover{color:#0056b3;text-decoration:none}.grid-wrapper[data-v-215acb9c]{background:#fff;border:1px solid #dee2e6;border-radius:8px;display:inline-block;overflow-x:auto;box-shadow:0 2px 4px #0000001a}.invoice-grid[data-v-215acb9c]{border-collapse:collapse;width:auto}.invoice-grid th[data-v-215acb9c],.invoice-grid td[data-v-215acb9c]{text-align:center;vertical-align:middle;border:1px solid #dee2e6}.invoice-grid th[data-v-215acb9c]{color:#333;z-index:10;background-color:#f8f9fa;padding:.75rem .5rem;font-weight:600;position:sticky;top:0}.user-column[data-v-215acb9c]{text-align:left;z-index:11;width:100px;position:sticky;left:0;background-color:#f8f9fa!important}.month-column[data-v-215acb9c]{width:140px;font-size:.85rem}.month-rate[data-v-215acb9c]{color:#6b7280;margin-top:2px;font-size:.75rem;font-weight:400}.user-row[data-v-215acb9c]:nth-child(2n){background-color:#f8f9fa}.user-cell[data-v-215acb9c]{text-align:left;background-color:inherit;z-index:5;padding:1rem;position:sticky;left:0}.user-info[data-v-215acb9c]{flex-direction:column;gap:.25rem;display:flex}.user-name[data-v-215acb9c]{color:#333;font-size:.9rem;font-weight:600}.user-email[data-v-215acb9c]{color:#666;font-size:.8rem}.invoice-cell[data-v-215acb9c]{width:140px;padding:.5rem}.invoice-content[data-v-215acb9c]{flex-direction:column;align-items:center;gap:.25rem;display:flex}.invoice-link[data-v-215acb9c]{color:#007bff;border-radius:4px;flex-direction:column;align-items:center;gap:.25rem;width:100%;padding:.5rem;text-decoration:none;transition:background-color .2s;display:flex}.invoice-link[data-v-215acb9c]:hover{background-color:#f0f8ff;text-decoration:none}.invoice-kwh[data-v-215acb9c]{color:#6b7280;font-size:.75rem}.invoice-amount[data-v-215acb9c]{color:#28a745;font-size:.95rem;font-weight:700}.no-invoice[data-v-215acb9c]{color:#6c757d;opacity:.5;font-size:1.2rem}.mobile-view[data-v-215acb9c]{display:none}@media (width<=768px){.invoice-grid-page[data-v-215acb9c]{padding:.75rem}.grid-info h2[data-v-215acb9c]{margin-bottom:.25rem;font-size:1.2rem}.grid-info .description[data-v-215acb9c]{font-size:.9rem}.gnucash-toolbar[data-v-215acb9c]{flex-direction:column;align-items:stretch}.btn-gnucash[data-v-215acb9c]{width:100%}.desktop-grid[data-v-215acb9c]{display:none}.mobile-view[data-v-215acb9c]{display:block}}.mobile-user-select[data-v-215acb9c]{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.mobile-label[data-v-215acb9c]{color:#333;font-size:.9rem;font-weight:600}.mobile-select[data-v-215acb9c]{background-color:#fff;border:1px solid #ced4da;border-radius:6px;width:100%;padding:.65rem .75rem;font-size:1rem}.mobile-select[data-v-215acb9c]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff33}.mobile-month-list[data-v-215acb9c]{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #00000014}.mobile-month-row[data-v-215acb9c]{border-bottom:1px solid #f1f3f4;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.mobile-month-row[data-v-215acb9c]:last-child{border-bottom:none}.mobile-month-name[data-v-215acb9c]{color:#333;font-size:.95rem;font-weight:500}.mobile-invoice-link[data-v-215acb9c]{color:#007bff;border:1px solid #007bff;border-radius:4px;padding:.35rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}.mobile-invoice-link[data-v-215acb9c]:hover{color:#fff;background-color:#007bff}.mobile-no-invoice[data-v-215acb9c]{color:#adb5bd;font-size:.85rem}.payment-link-area[data-v-215acb9c],.invoice-actions-area[data-v-215acb9c]{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;margin-top:.25rem;display:flex}.mobile-payment-link-area[data-v-215acb9c],.mobile-invoice-actions[data-v-215acb9c]{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.btn-payment-link[data-v-215acb9c]{color:#495057;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #6c757d;border-radius:4px;padding:.2rem .45rem;font-size:.7rem;transition:background-color .15s,color .15s}.btn-payment-link[data-v-215acb9c]:hover:not(:disabled){color:#fff;background-color:#495057}.btn-payment-link[data-v-215acb9c]:disabled{opacity:.5;cursor:not-allowed}.payment-status-badge[data-v-215acb9c]{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.15rem .35rem;font-size:.65rem;font-weight:700}.payment-status-badge.paid[data-v-215acb9c]{color:#155724;background-color:#d4edda}.payment-status-badge.open[data-v-215acb9c],.payment-status-badge.pending[data-v-215acb9c]{color:#856404;background-color:#fff3cd}.payment-status-badge.failed[data-v-215acb9c],.payment-status-badge.canceled[data-v-215acb9c],.payment-status-badge.expired[data-v-215acb9c]{color:#721c24;background-color:#f8d7da}.payment-open-link[data-v-215acb9c]{color:#007bff;font-size:.7rem;text-decoration:none}.payment-open-link[data-v-215acb9c]:hover{text-decoration:underline}.my-invoices-page[data-v-f22c2890]{max-width:900px;margin:0 auto;padding:2rem}.page-header[data-v-f22c2890]{margin-bottom:1.5rem}.page-header h2[data-v-f22c2890]{color:#333;margin:0 0 .25rem}.description[data-v-f22c2890]{color:#666;margin:0;font-size:.95rem}.loading[data-v-f22c2890]{text-align:center;color:#666;padding:3rem}.error[data-v-f22c2890]{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:1rem}.no-account[data-v-f22c2890]{color:#555;padding:2rem 0}.empty[data-v-f22c2890]{color:#6c757d;padding:2rem 0}.table-wrapper[data-v-f22c2890]{border:1px solid #dee2e6;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #00000012}.invoices-table[data-v-f22c2890]{border-collapse:collapse;background:#fff;width:100%}.invoices-table th[data-v-f22c2890]{text-align:left;color:#495057;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.invoices-table td[data-v-f22c2890]{color:#333;border-bottom:1px solid #f0f0f0;padding:.75rem 1rem;font-size:.9rem}.invoices-table tr:last-child td[data-v-f22c2890]{border-bottom:none}.invoice-num[data-v-f22c2890]{color:#666;font-family:monospace;font-size:.82rem}.num-cell[data-v-f22c2890]{text-align:right}.amount[data-v-f22c2890]{font-weight:600}.status-badge[data-v-f22c2890]{text-transform:capitalize;border-radius:12px;padding:.2rem .55rem;font-size:.8rem;font-weight:500;display:inline-block}.status-badge.paid[data-v-f22c2890]{color:#155724;background:#d4edda}.status-badge.open[data-v-f22c2890]{color:#856404;background:#fff3cd}.status-badge.pending[data-v-f22c2890]{color:#004085;background:#cce5ff}.status-badge.failed[data-v-f22c2890],.status-badge.expired[data-v-f22c2890],.status-badge.canceled[data-v-f22c2890]{color:#721c24;background:#f8d7da}.status-badge.none[data-v-f22c2890]{color:#aaa;background:0 0}.pay-link[data-v-f22c2890]{color:#4a90d9;font-weight:500;text-decoration:none}.pay-link[data-v-f22c2890]:hover{text-decoration:underline}.paid-text[data-v-f22c2890]{color:#28a745;font-weight:500}.get-link-btn[data-v-f22c2890]{color:#fff;cursor:pointer;background:#4a90d9;border:none;border-radius:4px;padding:.25rem .65rem;font-size:.82rem}.get-link-btn[data-v-f22c2890]:hover:not(:disabled){background:#357abd}.get-link-btn[data-v-f22c2890]:disabled{opacity:.6;cursor:default}.invoice-link[data-v-f22c2890]{color:#4a90d9;font-weight:500;text-decoration:none}.invoice-link[data-v-f22c2890]:hover{text-decoration:underline}.payments-page[data-v-8848bb6b]{max-width:100%;padding:2rem}.page-header[data-v-8848bb6b]{margin-bottom:1.5rem}.header-row[data-v-8848bb6b]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h2[data-v-8848bb6b]{color:#333;margin:0 0 .25rem}.refresh-btn[data-v-8848bb6b]{color:#fff;cursor:pointer;white-space:nowrap;background:#4a90d9;border:none;border-radius:4px;padding:.4rem 1rem;font-size:.875rem}.refresh-btn[data-v-8848bb6b]:hover:not(:disabled){background:#357abd}.refresh-btn[data-v-8848bb6b]:disabled{opacity:.6;cursor:default}.description[data-v-8848bb6b]{color:#666;margin:0;font-size:.95rem}.loading[data-v-8848bb6b]{text-align:center;color:#666;padding:3rem}.error[data-v-8848bb6b]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:1rem}.empty[data-v-8848bb6b]{color:#6c757d;padding:2rem 0}.table-wrapper[data-v-8848bb6b]{border:1px solid #dee2e6;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #00000012}.payments-table[data-v-8848bb6b]{border-collapse:collapse;background:#fff;width:100%}.payments-table th[data-v-8848bb6b]{color:#333;text-align:left;white-space:nowrap;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:.75rem 1rem;font-weight:600}.payments-table td[data-v-8848bb6b]{vertical-align:middle;border-bottom:1px solid #f1f3f4;padding:.75rem 1rem}.payments-table tr:last-child td[data-v-8848bb6b]{border-bottom:none}.payments-table tr:hover td[data-v-8848bb6b]{background-color:#f8f9fa}.amount-cell[data-v-8848bb6b]{color:#28a745;font-weight:600}.status-badge[data-v-8848bb6b]{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.status-badge.paid[data-v-8848bb6b]{color:#155724;background-color:#d4edda}.status-badge.open[data-v-8848bb6b],.status-badge.pending[data-v-8848bb6b]{color:#856404;background-color:#fff3cd}.status-badge.failed[data-v-8848bb6b],.status-badge.canceled[data-v-8848bb6b],.status-badge.expired[data-v-8848bb6b]{color:#721c24;background-color:#f8d7da}.checkout-link[data-v-8848bb6b]{color:#007bff;font-size:.9rem;text-decoration:none}.checkout-link[data-v-8848bb6b]:hover{text-decoration:underline}.date-cell[data-v-8848bb6b]{color:#6c757d;white-space:nowrap;font-size:.9rem}.actions-cell[data-v-8848bb6b]{white-space:nowrap}.delete-btn[data-v-8848bb6b]{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;padding:.35rem .7rem;font-size:.85rem}.delete-btn[data-v-8848bb6b]:hover:not(:disabled){background:#c82333}.delete-btn[data-v-8848bb6b]:disabled{opacity:.65;cursor:default}@media (width<=600px){.payments-page[data-v-8848bb6b]{padding:.75rem}.payments-table th[data-v-8848bb6b],.payments-table td[data-v-8848bb6b]{padding:.6rem .5rem;font-size:.85rem}}.payment-return[data-v-83910201]{justify-content:center;align-items:center;min-height:60vh;display:flex}.card[data-v-83910201]{text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;max-width:360px;padding:3rem 2rem}.icon[data-v-83910201]{color:#16a34a;font-size:3rem}h2[data-v-83910201]{color:#15803d;margin:.5rem 0 .25rem}p[data-v-83910201]{color:#4b7c5a;margin:0}.reset-password-page[data-v-6309c8c5]{justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex}.card[data-v-6309c8c5]{background:#fff;border:1px solid #dee2e6;border-radius:10px;width:100%;max-width:420px;padding:1.25rem}.help[data-v-6309c8c5]{color:#666;margin-top:0}.reset-form[data-v-6309c8c5]{flex-direction:column;gap:.65rem;display:flex}.reset-form input[data-v-6309c8c5]{border:1px solid #ced4da;border-radius:6px;padding:.55rem .7rem}.reset-form button[data-v-6309c8c5]{color:#fff;cursor:pointer;background:#4a6fa5;border:none;border-radius:6px;padding:.6rem .8rem;font-weight:600}.reset-form button[data-v-6309c8c5]:disabled{opacity:.7;cursor:default}.message[data-v-6309c8c5]{margin:.8rem 0 0;font-size:.9rem}.success[data-v-6309c8c5]{color:#2f5132}.error[data-v-6309c8c5]{color:#842029}.event-log-page[data-v-f8bbc2ce]{max-width:900px;margin:0 auto;padding:2rem}.page-header[data-v-f8bbc2ce]{margin-bottom:1.5rem}.page-header h1[data-v-f8bbc2ce]{margin:0 0 .25rem}.description[data-v-f8bbc2ce]{color:#666;margin:0;font-size:.95rem}.loading[data-v-f8bbc2ce],.empty[data-v-f8bbc2ce]{text-align:center;color:#666;padding:3rem}.error[data-v-f8bbc2ce]{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:1rem}.access-denied[data-v-f8bbc2ce]{text-align:center;color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:3rem}.access-denied h2[data-v-f8bbc2ce]{margin:0 0 .5rem}.table-wrapper[data-v-f8bbc2ce]{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #00000014}.log-table[data-v-f8bbc2ce]{border-collapse:collapse;width:100%}.log-table th[data-v-f8bbc2ce]{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.log-table td[data-v-f8bbc2ce]{color:#333;border-bottom:1px solid #f1f3f4;padding:.65rem 1rem;font-size:.9rem}.log-table tr:last-child td[data-v-f8bbc2ce]{border-bottom:none}.log-table tr:hover td[data-v-f8bbc2ce]{background:#f8f9fa}.timestamp[data-v-f8bbc2ce]{white-space:nowrap;color:#555;font-family:monospace;font-size:.85rem}.username[data-v-f8bbc2ce]{font-weight:500}.energy-prices-page[data-v-dee577a4]{max-width:900px;margin:0 auto;padding:24px}.page-header h1[data-v-dee577a4]{margin:0 0 4px}.subtitle[data-v-dee577a4]{color:#6b7280;margin:0 0 24px}.form-card[data-v-dee577a4],.table-card[data-v-dee577a4]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:24px}.form-card h2[data-v-dee577a4]{margin:0 0 16px;font-size:1.1rem}.form-row[data-v-dee577a4]{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.form-row label[data-v-dee577a4]{color:#374151;flex-direction:column;gap:4px;font-size:.875rem;font-weight:500;display:flex}.form-row input[data-v-dee577a4],.form-row select[data-v-dee577a4]{border:1px solid #d1d5db;border-radius:6px;width:130px;padding:8px 10px;font-size:.9rem}.form-actions[data-v-dee577a4]{gap:8px;display:flex}.btn-primary[data-v-dee577a4]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem}.btn-primary[data-v-dee577a4]:hover{background:#1d4ed8}.btn-secondary[data-v-dee577a4]{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:.9rem}.prices-table[data-v-dee577a4]{border-collapse:collapse;width:100%}.prices-table th[data-v-dee577a4]{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:.85rem}.prices-table td[data-v-dee577a4]{border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:.9rem}.btn-edit[data-v-dee577a4]{color:#0369a1;cursor:pointer;background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;margin-right:6px;padding:4px 10px;font-size:.8rem}.btn-danger[data-v-dee577a4]{color:#dc2626;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:4px;padding:4px 10px;font-size:.8rem}.no-data[data-v-dee577a4]{color:#6b7280;font-style:italic}.loading[data-v-dee577a4]{color:#6b7280}.error[data-v-dee577a4]{color:#dc2626}.stations-page[data-v-b5d6a0bb]{max-width:1000px;margin:0 auto;padding:2rem}.page-header[data-v-b5d6a0bb]{margin-bottom:1.5rem}.page-header h1[data-v-b5d6a0bb]{color:#333;margin:0 0 .5rem}.description[data-v-b5d6a0bb]{color:#666;margin:0;line-height:1.5}.access-denied[data-v-b5d6a0bb]{text-align:center;color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:2rem}.loading[data-v-b5d6a0bb],.error[data-v-b5d6a0bb],.empty[data-v-b5d6a0bb]{text-align:center;color:#666;padding:1.5rem}.error[data-v-b5d6a0bb]{color:#721c24;background:#f8d7da;border-radius:8px}.summary[data-v-b5d6a0bb]{align-items:baseline;gap:.5rem;margin-bottom:1rem;display:flex}.summary-count[data-v-b5d6a0bb]{color:#1565c0;font-size:1.5rem;font-weight:700}.summary-label[data-v-b5d6a0bb]{color:#666;font-size:.95rem}.table-wrapper[data-v-b5d6a0bb]{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #0000000f}.stations-table[data-v-b5d6a0bb]{border-collapse:collapse;width:100%;min-width:640px}.stations-table th[data-v-b5d6a0bb]{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:.85rem 1rem;font-weight:600}.stations-table td[data-v-b5d6a0bb]{vertical-align:middle;border-bottom:1px solid #e9ecef;padding:.75rem 1rem}.stations-table tbody tr[data-v-b5d6a0bb]:hover{background:#f8f9fa}.mono[data-v-b5d6a0bb]{color:#444;font-family:ui-monospace,monospace;font-size:.9rem}.source-badge[data-v-b5d6a0bb]{border-radius:6px;padding:.2rem .55rem;font-size:.8rem;font-weight:600;display:inline-block}.source-badge.export[data-v-b5d6a0bb]{color:#2e7d32;background:#e8f5e9}.source-badge.legacy[data-v-b5d6a0bb]{color:#e65100;background:#fff3e0}.sigenergy-page[data-v-bb801182]{max-width:800px;margin:0 auto;padding:2rem}.page-header[data-v-bb801182]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-bb801182]{margin:0 0 .25rem}.description[data-v-bb801182]{color:#666;margin:0;font-size:.95rem}.header-actions[data-v-bb801182]{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.last-refresh[data-v-bb801182]{color:#666;font-size:.85rem}.refresh-btn[data-v-bb801182]{color:#fff;cursor:pointer;background:#007bff;border:1px solid #007bff;border-radius:6px;padding:.5rem .9rem;font-weight:600}.refresh-btn[data-v-bb801182]:hover:not(:disabled){background:#0069d9;border-color:#0062cc}.refresh-btn[data-v-bb801182]:disabled{opacity:.65;cursor:not-allowed}.loading[data-v-bb801182],.empty[data-v-bb801182]{text-align:center;color:#666;padding:3rem}.error[data-v-bb801182]{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:1rem}.state-card[data-v-bb801182]{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #00000014}.stations-bar[data-v-bb801182]{background:#fff;border-bottom:1px solid #e8edf3;padding:1rem}.stations-error[data-v-bb801182],.stations-empty[data-v-bb801182]{color:#6b7280;font-size:.9rem}.stations-squares[data-v-bb801182]{gap:.35rem;width:100%;display:grid}.station-square[data-v-bb801182]{aspect-ratio:1;text-align:center;border:1px solid #11182733;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:100%;padding:.25rem;display:flex;position:relative;overflow:hidden}.station-name[data-v-bb801182],.station-number[data-v-bb801182]{color:#0f172a;word-break:break-word;font-size:clamp(.95rem,2.2vw,1.6rem);font-weight:600;line-height:1.1}.station-number[data-v-bb801182]{font-size:clamp(.7rem,1.5vw,.95rem);display:none}.station-load[data-v-bb801182]{color:#111827;font-size:clamp(.7rem,1.35vw,.9rem);font-weight:700;line-height:1}.station-square.free[data-v-bb801182]{background:#22c55e59}.station-square.busy[data-v-bb801182]{background:#ef444459}@media (width<=700px){.station-name[data-v-bb801182]{font-size:.72rem}}.energy-bars[data-v-bb801182]{background:linear-gradient(#f8fbff 0%,#fff 100%);border-bottom:1px solid #e8edf3;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.energy-item[data-v-bb801182]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.35rem;padding:.8rem;display:flex}.energy-item[data-v-bb801182]:first-child{border-color:#fbd38d}.energy-item[data-v-bb801182]:nth-child(2){border-color:#86efac}.energy-item[data-v-bb801182]:nth-child(3){border-color:#93c5fd}.energy-label[data-v-bb801182]{color:#2d3748;font-weight:600}.energy-value[data-v-bb801182]{color:#111827;font-size:1.15rem;font-weight:700}.state-row[data-v-bb801182]{border-bottom:1px solid #f1f3f4;grid-template-columns:220px 1fr;gap:1rem;padding:.85rem 1rem;display:grid}.state-row[data-v-bb801182]:last-child{border-bottom:none}.label[data-v-bb801182]{color:#333;font-weight:600}.value[data-v-bb801182]{color:#333;word-break:break-word}.error-text[data-v-bb801182]{color:#721c24}@media (width<=700px){.sigenergy-page[data-v-bb801182]{padding:.5rem}.page-header[data-v-bb801182]{flex-direction:column;align-items:stretch}.header-actions[data-v-bb801182]{align-items:stretch}.energy-bars[data-v-bb801182]{grid-template-columns:1fr}.state-row[data-v-bb801182]{grid-template-columns:1fr;gap:.35rem}}.combined-invoices-page[data-v-1a45c66b]{max-width:960px;margin:0 auto;padding:2rem}.page-header[data-v-1a45c66b]{margin-bottom:2rem}.page-header h1[data-v-1a45c66b]{color:#333;margin:0 0 .5rem}.page-header p[data-v-1a45c66b]{color:#666;margin:0;font-size:1.1rem}.loading[data-v-1a45c66b]{text-align:center;color:#666;padding:3rem}.error[data-v-1a45c66b]{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:1rem}.empty[data-v-1a45c66b]{text-align:center;color:#666;padding:2rem}.gnucash-toolbar[data-v-1a45c66b]{background:#f0f7ff;border:1px solid #b8daff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.gnucash-toolbar-title[data-v-1a45c66b]{color:#004085;font-weight:700}.btn-gnucash[data-v-1a45c66b]{color:#fff;cursor:pointer;background:#004085;border:none;border-radius:4px;padding:.45rem .85rem;font-size:.9rem;font-weight:600}.btn-gnucash[data-v-1a45c66b]:hover:not(:disabled){background:#002752}.btn-gnucash[data-v-1a45c66b]:disabled{opacity:.6;cursor:not-allowed}.table-wrapper[data-v-1a45c66b]{overflow-x:auto}.combined-table[data-v-1a45c66b]{border-collapse:collapse;background:#fff;width:100%;box-shadow:0 1px 3px #00000014}.combined-table th[data-v-1a45c66b],.combined-table td[data-v-1a45c66b]{text-align:left;border-bottom:1px solid #e9ecef;padding:.85rem 1rem}.combined-table th[data-v-1a45c66b]{color:#495057;background:#f8f9fa;font-weight:600}.num-col[data-v-1a45c66b]{text-align:right;white-space:nowrap}.actions-col[data-v-1a45c66b]{white-space:nowrap}.user-name[data-v-1a45c66b]{color:#333;font-weight:600}.user-email[data-v-1a45c66b]{color:#666;margin-top:.15rem;font-size:.85rem}.btn-pdf[data-v-1a45c66b],.btn-gnucash-cell[data-v-1a45c66b]{cursor:pointer;border:none;border-radius:4px;padding:.4rem .75rem;font-size:.85rem;font-weight:600}.btn-pdf[data-v-1a45c66b]{color:#fff;background:#007bff;margin-right:.4rem}.btn-pdf[data-v-1a45c66b]:hover{background:#0056b3}.btn-gnucash-cell[data-v-1a45c66b]{color:#fff;background:#004085}.btn-gnucash-cell[data-v-1a45c66b]:hover:not(:disabled){background:#002752}.btn-gnucash-cell[data-v-1a45c66b]:disabled{opacity:.6;cursor:not-allowed}
