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