:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.exact-online-connector{max-width:800px;margin:0 auto}.connection-empty-state{text-align:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:3rem 2rem}.connection-empty-state p{color:#6b7280;margin-bottom:1.5rem}.connection-details{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem}.connection-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.connection-status{align-items:center;gap:.5rem;display:flex}.connection-actions{gap:.5rem;display:flex}.status-badge{border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.status-active{color:#065f46;background:#d1fae5}.status-expired{color:#92400e;background:#fed7aa}.status-revoked{color:#991b1b;background:#fecaca}.status-error{color:#991b1b;background:#fee2e2}.connection-info{flex-direction:column;gap:1rem;display:flex}.info-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:.75rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:#6b7280;font-weight:500}.info-value{color:#111827}.error-row{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem}.error-text{color:#991b1b;font-family:monospace;font-size:.875rem}.reconnection-prompt{background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;margin-top:2rem;padding:1.5rem}.warning-text{color:#92400e;margin-bottom:1rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:600px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:2rem;line-height:1;display:flex}.modal-close:hover{color:#111827}.modal-body{padding:1.5rem;overflow-y:auto}.division-list{border:1px solid #e5e7eb;border-radius:6px;max-height:300px;padding:.5rem;overflow-y:auto}.division-item{border-bottom:1px solid #f3f4f6;padding:.75rem}.division-item:last-child{border-bottom:none}.checkbox-label{cursor:pointer;align-items:center;gap:.75rem;width:100%;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}.division-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.division-name{color:#111827;font-weight:500}.division-code{color:#6b7280;font-size:.875rem}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.no-data{text-align:center;color:#6b7280;padding:2rem}.page-container{max-width:1200px;margin:0 auto;padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{color:#111827;margin:0 0 .5rem;font-size:2rem}.page-description{color:#6b7280;margin:0}.section{margin-bottom:3rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{margin:0;font-size:1.5rem}.section-description{color:#6b7280;margin-bottom:1rem}.empty-state{text-align:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:4rem 2rem}.empty-state h2{color:#374151;margin-bottom:1rem}.empty-state p{color:#6b7280}.dashboard-content{flex-direction:column;gap:2rem;display:flex}.division-selector{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.division-selector label{margin-bottom:.5rem;font-weight:500;display:block}.division-selector select{width:100%;max-width:400px}.division-details{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem}.division-header{border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.division-header h2{color:#111827;margin:0;font-size:1.75rem;font-weight:600}.division-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.info-card{background:#f9fafb;border-radius:6px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.placeholder-content{background:#f9fafb;border-radius:6px;margin-top:1rem;padding:2rem}.placeholder-content ul{color:#6b7280;margin:1rem 0 0 1.5rem}.oauth-callback-container{text-align:center;justify-content:center;align-items:center;min-height:60vh;display:flex}.processing-state,.error-state,.success-state{max-width:500px;padding:3rem 2rem}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;width:50px;height:50px;margin:0 auto 2rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading{text-align:center;color:#6b7280;padding:2rem}.status-inactive{color:#6b7280;background:#f3f4f6}.content-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a}.content-card h3{color:#111827;margin:0 0 1.5rem;font-size:1.25rem}.data-table{border-collapse:collapse;width:100%;margin-top:1rem}.data-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.data-table th{text-align:left;color:#374151;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.data-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child{border-bottom:none}.data-table td{color:#111827;padding:1rem;font-size:.9375rem}.data-table td:first-child{font-weight:500}.gl-mapping-page{flex-direction:column;height:100%;padding:24px;display:flex}.gl-mapping-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.gl-mapping-page .header-content h1{color:#1a1a1a;margin:0 0 8px;font-size:24px;font-weight:600}.gl-mapping-page .header-content p{color:#666;margin:0;font-size:14px}.gl-mapping-page .header-actions{align-items:center;gap:12px;display:flex}.gl-mapping-page .unsaved-indicator{color:#856404;background:#fff3cd;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:500}.gl-mapping-page .btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.gl-mapping-page .btn:disabled{opacity:.5;cursor:not-allowed}.gl-mapping-page .btn-primary{color:#fff;background:#2563eb}.gl-mapping-page .btn-primary:hover:not(:disabled){background:#1d4ed8}.gl-mapping-page .btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.gl-mapping-page .btn-secondary:hover:not(:disabled){background:#e5e7eb}.gl-mapping-page .mapping-container{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:0;display:grid}.gl-mapping-page .panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.gl-mapping-page .panel-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px}.gl-mapping-page .panel-header h2{color:#1a1a1a;margin:0 0 12px;font-size:16px;font-weight:600}.gl-mapping-page .search-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.gl-mapping-page .search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.gl-mapping-page .panel-content{flex:1;padding:16px;overflow-y:auto}.gl-mapping-page .accounts-list{flex-direction:column;gap:8px;display:flex}.gl-mapping-page .gl-account-item{cursor:grab;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;transition:all .2s;display:flex}.gl-mapping-page .gl-account-item:hover{background:#f3f4f6;border-color:#d1d5db}.gl-mapping-page .gl-account-item.dragging{opacity:.5;cursor:grabbing}.gl-mapping-page .account-code{color:#1a1a1a;min-width:60px;font-weight:600}.gl-mapping-page .account-description{color:#666;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gl-mapping-page .remove-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.gl-mapping-page .remove-btn:hover{color:#ef4444}.gl-mapping-page .classifications-tree{flex-direction:column;gap:8px;display:flex}.gl-mapping-page .droppable-classification{border-left:2px solid #e5e7eb}.gl-mapping-page .droppable-classification.depth-0{border-left:none}.gl-mapping-page .classification-header{cursor:grab;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:12px;transition:all .2s;display:flex}.gl-mapping-page .classification-header:hover{background:#f3f4f6}.gl-mapping-page .classification-header.dragging{cursor:grabbing;opacity:.8;box-shadow:0 4px 12px #00000026}.gl-mapping-page .classification-header.drop-target{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.gl-mapping-page .expand-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;transition:all .2s;display:flex}.gl-mapping-page .expand-btn:hover{color:#6b7280;background:#e5e7eb}.gl-mapping-page .classification-code{color:#1a1a1a;min-width:60px;font-weight:600}.gl-mapping-page .classification-description{color:#374151;flex:1}.gl-mapping-page .classification-count{color:#9ca3af;font-size:12px}.gl-mapping-page .classification-content{padding:8px 0 8px 24px}.gl-mapping-page .section-label{color:#6b7280;margin-bottom:8px;font-size:12px;font-weight:500}.gl-mapping-page .mapped-accounts{margin-bottom:12px}.gl-mapping-page .mapped-accounts .accounts-list{flex-flow:wrap}.gl-mapping-page .mapped-accounts .gl-account-item{padding:6px 10px;font-size:13px}.gl-mapping-page .child-classifications{flex-direction:column;gap:8px;display:flex}.gl-mapping-page .gl-classification-draggable{cursor:grab;background:#fef3c7;border:1px solid #fbbf24;border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:13px;display:inline-flex}.gl-mapping-page .gl-classification-draggable:hover{background:#fde68a}.gl-mapping-page .drag-overlay{z-index:1000;border-radius:6px;align-items:center;gap:8px;font-size:14px;display:flex;box-shadow:0 4px 12px #00000026}.gl-mapping-page .drag-overlay.account{background:#f9fafb;border:1px solid #e5e7eb;padding:10px 12px}.gl-mapping-page .drag-overlay.account span:first-child{color:#1a1a1a;min-width:60px;font-weight:600}.gl-mapping-page .drag-overlay.account span:last-child{color:#666}.gl-mapping-page .drag-overlay.classification{background:#f9fafb;border:1px solid #e5e7eb;padding:12px}.gl-mapping-page .drag-overlay.classification span:first-child{color:#1a1a1a;min-width:60px;font-weight:600}.gl-mapping-page .drag-overlay.classification span:last-child{color:#374151}.gl-mapping-page .empty-state,.gl-mapping-page .loading-state,.gl-mapping-page .error-state,.gl-mapping-page .no-division-message{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.gl-mapping-page .loading-state .spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite gl-mapping-spin}@keyframes gl-mapping-spin{to{transform:rotate(360deg)}}.gl-mapping-page .error-state{color:#dc2626}.gl-mapping-page .error-state button{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;margin-top:16px;padding:8px 16px}.gl-mapping-page .error-state button:hover{background:#b91c1c}@media (max-width:1024px){.gl-mapping-page .mapping-container{grid-template-columns:1fr}.gl-mapping-page .panel{max-height:400px}}@media (max-width:640px){.gl-mapping-page{padding:16px}.gl-mapping-page .page-header{flex-direction:column}.gl-mapping-page .header-actions{justify-content:flex-end;width:100%}.gl-mapping-page .mapped-accounts .accounts-list{flex-direction:column}}#root{width:100%;min-height:100vh}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:#fff;border-radius:12px;width:100%;max-width:450px;padding:2.5rem;box-shadow:0 10px 40px #00000026}.auth-card h1{color:#1a202c;margin-bottom:.5rem;font-size:2rem}.auth-description{color:#718096;margin-bottom:2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2d3748;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.input-readonly{cursor:not-allowed;background-color:#f7fafc}.form-group-checkbox{margin-bottom:1.5rem}.form-group-checkbox label{color:#2d3748;cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.form-group-checkbox input[type=checkbox]{cursor:pointer;width:auto}.password-input-wrapper{width:100%;display:block;position:relative}.password-input-wrapper input{box-sizing:border-box;width:100%;padding-right:3rem}.password-toggle{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.2rem;transition:opacity .2s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{opacity:1}.error-message{color:#e53e3e;margin-top:.25rem;font-size:.85rem;display:block}.btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{color:#fff;background:#667eea;width:100%}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#fff;background:#718096}.btn-secondary:hover{background:#4a5568}.btn-outline{color:#2d3748;background:0 0;border:2px solid #cbd5e0}.btn-outline:hover{background:#f7fafc}.btn-back{color:#667eea;background:0 0;border:none;padding:.5rem 1rem;font-size:.95rem}.btn-back:hover{background:#f7fafc}.alert{border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.95rem}.alert-error{color:#c53030;background:#fed7d7;border:1px solid #fc8181}.alert-success{color:#22543d;background:#c6f6d5;border:1px solid #68d391}.alert-info{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.auth-links{text-align:center;margin-top:1.5rem;font-size:.95rem}.auth-links a{color:#667eea;font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}.password-strength-indicator{margin-top:1rem}.strength-bar-container{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.strength-bar{height:100%;transition:width .3s,background-color .3s}.strength-label{margin-bottom:.5rem;font-size:.85rem;font-weight:500}.requirements-list{margin:.5rem 0 0;padding:0;font-size:.85rem;list-style:none}.requirements-list li{padding:.25rem 0}.requirements-list li.met{color:#22c55e}.requirements-list li.unmet{color:#94a3b8}.dashboard-container{background:#f7fafc;min-height:100vh}.dashboard-header{background:#fff;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;box-shadow:0 1px 3px #0000001a}.dashboard-header h1{color:#1a202c;margin:0;font-size:1.5rem}.user-menu{align-items:center;gap:1rem;display:flex}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem}.welcome-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.welcome-card h2{color:#1a202c;margin-top:0}.user-info{background:#f7fafc;border-radius:8px;margin-top:2rem;padding:1.5rem}.user-info h3{color:#2d3748;margin-top:0}.user-info ul{margin:1rem 0 0;padding:0;list-style:none}.user-info ul li{color:#4a5568;padding:.5rem 0}.settings-container{background:#f7fafc;min-height:100vh}.settings-header{background:#fff;padding:1.5rem 2rem;box-shadow:0 1px 3px #0000001a}.settings-header h1{color:#1a202c;margin:.5rem 0 0;font-size:1.5rem}.settings-content{max-width:600px;margin:0 auto;padding:2rem}.change-password-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.change-password-form h2{color:#1a202c;margin-top:0}.form-description{color:#718096;margin-bottom:2rem;font-size:.95rem}.loading-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{color:#667eea;font-size:1.5rem}.navigation-card{background:#fff;border-radius:12px;margin-top:2rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.navigation-card h3{color:#1a202c;margin-top:0;font-size:1.5rem}.navigation-card>p{color:#718096;margin-bottom:1.5rem}.navigation-links{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.nav-link-card{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;gap:1.5rem;padding:1.5rem;text-decoration:none;transition:all .2s;display:flex}.nav-link-card:hover{background:#edf2f7;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.nav-link-icon{font-size:2.5rem;line-height:1}.nav-link-content h4{color:#1a202c;margin:0 0 .5rem;font-size:1.1rem}.nav-link-content p{color:#718096;margin:0;font-size:.9rem}.role-badge{text-transform:capitalize;border-radius:9999px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.role-badge.admin{color:#1e40af;background:#dbeafe}.role-badge.client{color:#065f46;background:#d1fae5}
