:root{--primary-color: #2FB4D9;--primary-dark: #1dbeea;--secondary-color: #2196F3;--secondary-dark: #1976D2;--background-color: #f5f5f5;--white: #ffffff;--black: #000000;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--sidebar-width: 250px;--header-height: 60px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--background-color)}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--secondary-color);color:var(--white)}.btn-primary:hover{background-color:var(--secondary-dark)}.btn-secondary{background-color:var(--gray-500);color:var(--white)}.btn-secondary:hover{background-color:var(--gray-600)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:border-color .2s ease}.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background-color:var(--white);cursor:pointer}.center{align-content:center}.sidebar{width:var(--sidebar-width);height:100vh;background-color:var(--white);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:1000}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.sidebar-toggle{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs)}.sidebar-toggle:hover{color:var(--text-primary)}.sidebar-nav{flex:1;padding:var(--spacing-md) 0}.sidebar-item{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;color:var(--text-primary);transition:all .2s ease;border-left:3px solid transparent}.sidebar-item:hover{background-color:var(--gray-100);color:var(--text-primary)}.sidebar-item.active{background-color:var(--gray-200);border-left-color:var(--primary-color);font-weight:var(--font-weight-medium)}.sidebar-icon{margin-right:var(--spacing-sm);font-size:var(--font-size-sm)}.sidebar-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.header{height:var(--header-height);background-color:var(--white);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:999}.header-left{display:flex;align-items:center}.logo{display:flex;flex-direction:column}.logo-title{display:flex;align-items:center;gap:8px}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-color);line-height:1.2}.logo-tagline{font-size:var(--font-size-xs);color:var(--primary-color);margin-top:var(--spacing-xs)}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.header-link{color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color .2s ease}.header-link:hover{color:var(--text-primary)}.header-user{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.logout{width:100%;padding:10px;border-radius:8%;border:none;background-color:#1976d2;color:#fff;font-size:13px;cursor:pointer}.env-label{display:inline-flex;align-items:center;padding:4px 10px;margin-left:12px;border-radius:4px;font-size:11px;font-weight:600;vertical-align:middle}.env-label.development{background-color:#d3d3d3;color:#000}.env-label.production{background-color:#f44336;color:#fff}.configuration-page{padding:var(--spacing-xl);min-height:calc(100vh - var(--header-height));background-color:var(--background-color)}.form-container{background-color:var(--white);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.form-column{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-section{border:1px solid var(--gray-200);border-radius:var(--border-radius-md);padding:var(--spacing-lg);background-color:var(--gray-100)}.form-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-300)}.form-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row:last-child{margin-bottom:0}.form-label{width:180px;font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-sm);flex-shrink:0}.form-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #2196f31a}.form-select{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background-color:var(--white);cursor:pointer}.form-select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #2196f31a}.form-checkbox{width:16px;height:16px;accent-color:var(--secondary-color);cursor:pointer}.radio-group{display:flex;gap:var(--spacing-lg);flex:1}.radio-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary)}.form-radio{width:16px;height:16px;accent-color:var(--secondary-color);cursor:pointer}.color-input{width:60px;height:40px;padding:0;border:1px solid var(--gray-300);border-radius:var(--border-radius-md);cursor:pointer}.error-text{color:#dc2626;font-size:var(--font-size-xs);margin-top:var(--spacing-xs);display:block}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.file-upload-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all .2s ease;background-color:var(--gray-500);color:var(--white)}.file-upload-btn:hover{background-color:var(--gray-600)}.json-preview{margin-top:var(--spacing-lg);border:1px solid var(--gray-200);border-radius:var(--border-radius-md);overflow:hidden}.json-content{background-color:#0b1020;color:#e5e7eb;padding:var(--spacing-lg);margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);line-height:1.5;max-height:400px;overflow:auto;white-space:pre-wrap}.feature-table{margin-top:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--border-radius-md);overflow:hidden}.feature-table-content{width:100%;border-collapse:collapse;background-color:var(--white)}.feature-table-content th{background-color:var(--gray-100);padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:1px solid var(--gray-200)}.feature-table-content td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200);vertical-align:middle}.feature-row:hover{background-color:var(--gray-100)}.feature-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.status-mandatory{background-color:#fef3c7;color:#92400e;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-optional{background-color:#dbeafe;color:#1e40af;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.toggle-button{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:background-color .2s ease}.toggle-button:hover{background-color:var(--gray-100)}.page-row{background-color:#f8fafc;border-left:3px solid var(--primary-color)}.page-row:hover{background-color:#e2e8f0}.page-row td{padding:var(--spacing-md);border-bottom:1px solid #e2e8f0;vertical-align:middle}.page-indent{width:20px;height:20px;background-color:var(--primary-color);border-radius:50%;margin:0 auto;opacity:.3}.page-name{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm);padding-left:var(--spacing-sm)}@media(max-width:1200px){.form-columns{grid-template-columns:1fr}}@media(max-width:768px){.configuration-page{margin-left:0;padding:var(--spacing-md)}.form-container{padding:var(--spacing-md)}.form-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.form-label{width:100%;margin-bottom:var(--spacing-xs)}.form-actions{flex-direction:column}}body,.aligo-page,.admin-section{overflow-x:hidden}.admin-container{padding:24px;background-color:#f7f8fa}.aligo-page{padding:var(--spacing-xl);min-height:calc(100vh - var(--header-height));background-color:var(--background-color)}.page-header{margin-bottom:var(--spacing-xl)}.page-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.admin-section{background:#fff;padding:0;margin-bottom:24px;width:calc(100vw - 314px);border-radius:var(--border-radius-lg);box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:20px;margin-bottom:0;border-bottom:1px solid #e1e3e6;background:#fff;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;position:sticky;top:0;z-index:10}.admin-section h2{margin:0;font-size:18px}.admin-table-wrapper{padding:20px;height:100%}.admin-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}.admin-table th{background-color:#f0f2f5;font-weight:600;border:1px solid #e1e3e6;padding:10px;text-align:left;white-space:nowrap}.admin-table th:first-child{width:120px}.admin-table th:last-child{width:80px}.admin-table td{border:1px solid #e1e3e6;padding:10px;text-align:left;white-space:nowrap;background-color:#fff}.admin-table tbody tr:hover td{background-color:#fafafa}.admin-table .col-message{max-width:300px;white-space:normal;word-break:break-word}.admin-table .col-action{text-align:center;position:sticky;right:-1px;background-color:#fff;box-shadow:-2px 0 4px #0000000d;z-index:3}.admin-table th.col-action{background-color:#f0f2f5;z-index:6}.admin-table tbody tr:hover td.col-action{background-color:#fafafa}.admin-table .col-check{text-align:center;vertical-align:middle}.btn{padding:6px 12px;border:1px solid #c4c4c4;background-color:#fff;cursor:pointer;border-radius:4px;font-size:13px;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background-color:#f2f2f2}.btn.primary{background-color:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn.primary:hover{background-color:var(--primary-color);border-color:var(--primary-color)}.btn.danger{background-color:#ef4444;border-color:#ef4444;color:#fff}.btn.danger:hover{background-color:#dc2626}.form{display:flex;flex-direction:column;gap:10px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:16px;font-weight:600;color:#555}.form-group input{height:36px;padding:0 10px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;color:#333;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#4c7ef3;box-shadow:0 0 0 2px #4c7ef326}.form-group input:disabled{background-color:#f5f6f7;color:#999;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-actions .btn{min-width:80px}.tab-header{display:flex;align-items:center;gap:4px;padding:4px;background-color:#f3f4f6;border-radius:8px;width:fit-content}.tab-btn{background:transparent;border:none;padding:8px 20px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;position:relative;border-radius:6px;transition:all .2s ease;white-space:nowrap}.tab-btn.active{color:#111827;font-weight:600;background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.tab-btn:hover:not(.active){color:#374151;background-color:#ffffff80}:root{--nearcpo-color-primary: #007bff;--nearcpo-color-primary-dark: #0056b3;--nearcpo-color-secondary: #6c757d;--nearcpo-color-secondary-dark: #545b62;--nearcpo-color-danger: #dc3545;--nearcpo-color-danger-dark: #bd2130;--nearcpo-color-success: #28a745;--nearcpo-color-warning: #ffc107;--nearcpo-color-error: #dc3545;--nearcpo-color-info: #17a2b8;--nearcpo-color-text: #212529;--nearcpo-color-text-light: #6c757d;--nearcpo-color-text-white: #ffffff;--nearcpo-color-bg: #ffffff;--nearcpo-color-bg-light: #f8f9fa;--nearcpo-color-bg-dark: #343a40;--nearcpo-color-bg-overlay: rgba(0, 0, 0, .5);--nearcpo-border-color: #dee2e6;--nearcpo-border-radius: 4px;--nearcpo-border-radius-lg: 8px;--nearcpo-border-radius-sm: 2px;--nearcpo-spacing-xs: 4px;--nearcpo-spacing-sm: 8px;--nearcpo-spacing-md: 16px;--nearcpo-spacing-lg: 24px;--nearcpo-spacing-xl: 32px;--nearcpo-font-size-sm: 12px;--nearcpo-font-size-md: 14px;--nearcpo-font-size-lg: 16px;--nearcpo-font-size-xl: 20px;--nearcpo-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--nearcpo-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--nearcpo-shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--nearcpo-z-index-modal: 1000;--nearcpo-z-index-overlay: 999;--nearcpo-z-index-dropdown: 100;--nearcpo-transition: all .3s ease}.nearcpo-modal-overlay{position:fixed;inset:0;background-color:var(--nearcpo-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--nearcpo-z-index-overlay);padding:var(--nearcpo-spacing-md)}.nearcpo-modal{background-color:var(--nearcpo-color-bg);border-radius:var(--nearcpo-border-radius-lg);box-shadow:var(--nearcpo-shadow-lg);max-height:90vh;display:flex;flex-direction:column;animation:modalFadeIn .3s ease;z-index:var(--nearcpo-z-index-modal)}.nearcpo-modal--small{width:100%;max-width:400px}.nearcpo-modal--medium{width:100%;max-width:600px}.nearcpo-modal--large{width:100%;max-width:800px}.nearcpo-modal--full{width:100%;height:100%;max-height:90vh;max-width:95vw}.nearcpo-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--nearcpo-spacing-lg);border-bottom:1px solid var(--nearcpo-border-color)}.nearcpo-modal__title{margin:0;font-size:var(--nearcpo-font-size-xl);font-weight:600;color:var(--nearcpo-color-text)}.nearcpo-modal__close{background:none;border:none;font-size:32px;line-height:1;color:var(--nearcpo-color-text-light);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--nearcpo-border-radius);transition:var(--nearcpo-transition)}.nearcpo-modal__close:hover{background-color:var(--nearcpo-color-bg-light);color:var(--nearcpo-color-text)}.nearcpo-modal__content{padding:var(--nearcpo-spacing-lg);overflow-y:auto;flex:1}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-group label.required:after{content:" *";color:#ef4444;font-weight:700;margin-left:4px}.app{display:flex;min-height:100vh;background-color:var(--background-color)}.main-content{flex:1;margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));background-color:var(--background-color)}@media(max-width:768px){.app{flex-direction:column}.main-content{margin-left:0;margin-top:0;min-height:100vh}}body,.app-meta-page,.admin-section{overflow-x:hidden}.app-meta-page{padding:var(--spacing-xl);min-height:calc(100vh - var(--header-height));background-color:var(--background-color)}.admin-table-scroll{overflow-x:auto}.mgr-5{margin-right:5px}.test-api-page{padding:var(--spacing-xl);min-height:calc(100vh - var(--header-height));background-color:var(--background-color)}.page-description{margin-top:8px;color:#666;font-size:14px}.test-button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,300px));gap:16px;justify-content:start;padding:16px}.test-button{display:flex;align-items:center;gap:16px;width:300px;height:100px;padding:18px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.test-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.test-button:active{transform:translateY(0)}.test-button .button-icon{font-size:32px;flex-shrink:0;width:40px;text-align:center}.test-button .button-content{flex:1;min-width:0}.test-button .button-content h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-button .button-content p{margin:0;font-size:13px;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.test-button.primary{border-color:#4caf50}.test-button.primary:hover{background:#f1f8f4;border-color:#45a049}.test-button.success{border-color:#2196f3}.test-button.success:hover{background:#e3f2fd;border-color:#1976d2}.test-button.info{border-color:#9c27b0}.test-button.info:hover{background:#f3e5f5;border-color:#7b1fa2}.test-button.warning{border-color:#ff9800}.test-button.warning:hover{background:#fff3e0;border-color:#f57c00}.test-button.danger{border-color:#f44336}.test-button.danger:hover{background:#ffebee;border-color:#d32f2f}@media(max-width:768px){.test-button-grid{grid-template-columns:1fr;justify-content:stretch}.test-button{width:100%}}
